WiresShark
WireShark
分析数据包技巧
- 确定WireShark的位置【是否在公网上】
- 选择捕获接口,一般都是internet网络接口
- 使用捕获过滤器
- 使用显示过滤器【捕获后的数据包还是很复杂,用显示过滤器过滤的更加细致】
- 使用着色规则【更加突出某个会话】
- 构件图表【看一个网络的数据变化,图表方式更直接】
- 重组数据【大的文件会将信息分布在很多个数据宝忠】
工作模式
混杂模式
- 接受所有经过网卡的数据包,包括不是发给本地的数据包【即不验证MAC地址】
混杂模式的开启

普通模式
- 普通模式下只接收发给本地的数据包(包括广播包)传递给上层程序,其他的包一律丢弃
协议分析
ARP协议
ARP协议介绍
- 地址解析协议,是一个通过解析网络层地址来找寻数据链路层地址的网络传输协议,它在IPV4中很重要【ARP是通过网络地址来定位MAC地址】
ARP包内容

ARP协议工作流程
看到应答包补全了自己的MAC地址,目的地址和源地址做了替换
192.168.31.155 广播:谁有192.168.31.1的MAC地址?
192.168.31.1 应答:192.168.31.1的MAC地址是xxxxxxxx
ICMP协议
ICMP协议介绍
- 它是TCP/IP协议簇的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用
ICMP包内容


ICMP协议工作流程
本机发送一个ICMP Request包
接收方返回一个ICMP Reply包,包含了接收到的数据拷贝和一些其他指令
HTTP协议

TCP协议
TCP三次握手

- 第一次握手

- 第二次握手

- 第三次握手

TCP四次挥手

UDP-DNS协议

- 请求包

- 响应包

常用指令
运算符
| 比较运算符 | 逻辑运算符 | ||
|---|---|---|---|
| 运算符 | 说明 | 运算符 | 说明 |
| eq == | 等于 | and && | 逻辑与 |
| ne != | 不等于 | or || | 逻辑或 |
| gt > | 大于 | xor ^^ | 逻辑异或 |
| lt < | 小于 | not ! | 逻辑非 |
| ge >= | 大于等于 | ||
| le <= | 小于等于 | ||
常见的过滤器
协议过滤器
语法
Protocal String String Comparsion opertor Value LogicalOptions Other expression
协议 值 值 比较运算符 值 逻辑运算符 其他协议
案例
显示POST提交的数据包或者是ICMP包<br>
http.request.method=="POST" or icmp.type<br>
显示IP地址为192.168.31.135的数据包<br>
id.addr==192.168.31.135<br>
显示来自10.20.0.0/16网段数据包<bR>
ip.src=10.20.0.0/16<br>
显示主机为192.168.30.33的相关数据包<br>
ip.host==192.168.30.33<br>
显示http响应状态码为302的相关数据包<br>
http.code==302<br>
显示TCP端口号为80的数据包<br>
tcp.port==80<br>
显示目的TCP端口为80的数据包<br>
tcp.dstport==80
内容过滤器
格式
contains [包含]
案例
显示包含"http"字符串的TCP数据包<br>
tcp contains "http"<br>
显示包含主机192.168.31.5的数据包<br>
http.host contains 192.168.31.5
案例【解决服务器无法上网】
TTL
Linux默认的TTL为64,每经过一个路由节点,TTL减1,TTL为0时,说明目标不可达并返回Time to live exceeded
TTL:数据报文的生存周期
TTL的作用:防止数据包在公网无限制转发

模拟场景
修改主机 TTL 值为 1,下面的方式是我们临时修改内核参数。
echo "1" > /proc/sys/net/ipv4/ip_default_ttl

- 单独ping网关【网关:192.168.31.1】

可以ping通
- ping一个网络地址

无法ping通,并返回了Time to live exceeded
再次修改一下TTL值
echo "2" > /proc/sys/net/ipv4/ip_default_ttl

- 再次ping网络地址

- 发现虽然返回的是Time to live exceeded,但是返回的IP地址不是网关,这证明了数据包在网络中
已经到达了下一个网络设备才被丢弃,由此我们还判断出我们的运营商网关地址为 171.120.52.1 但是我们并没有到达目标主机
修改回原来的TTL值
echo "64" > /proc/sys/net/ipv4/ip_default_ttl

MTR
- 可以检测我们到达目标网络乊间的所有网络设备的网络质量,默认系统是没有安装 MTR 工具的我们手劢安装一下
apt install mtr
- 检测到达 8.8.8.8 所有节点的通信质量
mtr 8.8.8.8

- 我们可以看到从我当前主机到目标主机间经过 12 跳
WiresShark的更多相关文章
- WiresShark使用说明
WiresShark是号称全世界最流行的网络分析工具(它的官网自己说的).下载地址:https://www.wireshark.org/#download,目前最新版本是2.6.2.我本地用的是汉化的 ...
- WiresShark 一站式学习
按照国际惯例,从最基本的说起. 抓取报文: 下载和安装好Wireshark之后,启动Wireshark并且在接口列表中选择接口名,然后开始在此接口上抓包.例如,如果想要在无线网络上抓取流量,点击无线接 ...
- WiresShark 使用方法
Wireshark(前称Ethereal)是一款功能强大的网络抓包分析工具,在我的工作中是不可或缺的一部分工具,往往在网络出现异常时,查看网络中的数据包,会豁然开朗.1.菜单栏 主菜单包括以下几个项 ...
- WiresShark 图解教程1
Wireshark是世界上最流行的网络分析工具.这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息.与很多其他网络工具一样,Wireshark也使用pcap network ...
- 抓包之网络分析器- Wiresshark
https://www.wireshark.org/ Wireshark(前称Ethereal)是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料.Wi ...
- 阻碍android程序员发展的几个原因
1应该少看网上的android开发相关技术帖子,一个是错误很多,表达也不清楚,很多都是拷贝来拷贝去的.二个是技术变迁快,很多都过时了,经常看android技术相关帖子,养成了一种惰性,遇到问题不是去看 ...
- Nessus漏洞扫描教程之使用Nmap工具扫描识别指纹
Nessus漏洞扫描教程之使用Nmap工具扫描识别指纹 Nmap工具的准备工作 当用户对Nessus工具有清晰的认识后,即可使用该工具实施扫描.但是,在扫描之前需要做一些准备工作,如探测网络中活动的主 ...
- 原:wireshare使用技巧收集
/data/local/tcpdump -p -vv -s 0 -w /sdcard/ThinkDrive.pcap 先抓一个pcap的包. 1. 查看所有的链接与流量 统计->对话 这 ...
- 转:android root tcpdump抓包强烈推荐
转:http://www.cnblogs.com/findyou/p/3491035.html 写的相当详细且完整,业界良心. adb push d:\tcpdump /data/local/ adb ...
随机推荐
- 后端统一处理返回前端日期LocalDateTime格式化去T,Long返回前端损失精度问题
一.前言 我们在实际开发中肯定会遇到后端的时间传到前端是这个样子的:2022-08-02T15:43:50 这个时候前后端就开始踢皮球了,!! 后端说:前端来做就可! 前端说:后端来做就可! 作为一名 ...
- 为什么企业不愿意升级ERP系统
前段时间看到一篇文章讲企业为何不愿意升级内部系统的文章,觉得有意思,也想聊聊为何大部分企业不愿意升级ERP的事情. 老东家用的ERP是QAD系统,92年版本,没有图形界面,用户都是通过NetTerm等 ...
- 完整代码:AgileFontSet迅捷字体设置程序
AgileFontSet用于快捷设置Windows系统字体和桌面图标间距,介绍参见:https://www.cnblogs.com/ybmj/p/11340105.html .这里提供AgileFon ...
- Apache DolphinScheduler 1.3.9 发布,新增 StandaloneServer
点击上方 蓝字关注我们 2021 年 10 月 22 日,Apache DolphinScheduler 正式发布 1.3.9 版本.时隔一个半月,在社区贡献者的共同努力下,Apache Dolphi ...
- 一个注解搞定SpringBoot接口定制属性加解密
前言 上个月公司另一个团队做的新项目上线后大体上运行稳定,但包括研发负责人在内的两个人在项目上线后立马就跳槽了,然后又交接给了我这个「垃圾回收人员」. 本周甲方另一个厂家的监控平台扫描到我们这个项目某 ...
- Luogu2986 [USACO10MAR]伟大的奶牛聚集 (树形DP)
有点权的重心,拆掉点dfs不就是了吗 //#include <iostream> #include <cstdio> #include <cstring> //#i ...
- Java SE 11 新增特性
Java SE 11 新增特性 作者:Grey 原文地址:Java SE 11 新增特性 源码 源仓库: Github:java_new_features 镜像仓库: GitCode:java_new ...
- Excel 插入嵌入式图表和独立图表的方法
描述 嵌入式图表:是一种与当前工作表相同位置的图表,且悬浮在表格之上,不受表格限制,因此称之为嵌入式图表. 独立图表:是独立于当前工作表的图表,打印时,需要单独将其打印出来. 插入独立图表的图文教程: ...
- Android下的IPC通信方式
一.Bundle Android的Activity.Service.Receiver都支持在Intent传递Bundle数据,Bundle实现了Parcelable接口, 所以能很方便的在不同进程之间 ...
- Python入门系列(七)开发常说的“累”与“对象”
类与对象 Python是一种面向对象的编程语言. 要创建类,请使用关键字class class MyClass: x = 5 创建一个名为p1的对象,并打印x的值 p1 = MyClass() pri ...