网站速度测速,织梦cms做网站流程,专业建设的主要内容,wordpress 工作室模板大家觉得有用记得关注和点赞#xff0c;谢谢。
一、Wireshark介绍 Wireshark#xff08;前身是Ethereal#xff09;是一个网络封包分析软件#xff0c;目前是全球使用最广泛的开源抓包软件#xff0c;别名小鲨鱼或者鲨鱼鳍。
网络封包分析软件的功能是截取网卡进出的网络…大家觉得有用记得关注和点赞谢谢。
一、Wireshark介绍 Wireshark前身是Ethereal是一个网络封包分析软件目前是全球使用最广泛的开源抓包软件别名小鲨鱼或者鲨鱼鳍。
网络封包分析软件的功能是截取网卡进出的网络封包并尽可能显示出最为详细的网络封包资料它能够检测并解析各种协议包括以太网、WIFI、TCP/IP和HTTP协议等等。
Wireshark使用LibPCAP、WinPCAP(现在普遍使用的是Npcap)作为驱动程序他们提供了通用的抓包接口直接与网卡进行数据报文交换WinPCAP本身就是抓包分析工具Wireshark通过对他进行整合加工丰富出来的产物所以安装Wireshark的时候会提示我们安装WinPCAP。
二、结构介绍 1、数据包列表
NO包的编号通常按照顺序排列
Time: 数据包进出的当时时间
Source: 源ip地址
Destination: 目标ip地址
Protocol协议
Length数据包长度
Info 数据包的一个简要描述不能看到具体数据
对列可以进行增加、修改、删除、隐藏等操作但是默认的这几列就够用
2、数据包的各层协议的详细数据 3、数据包对应的16进制表示和ascii类型数据显示
选中任何一行双击弹出如下如图 4、数据结构包的详细解析
解释IP数据报的首部
4.1、数据链路层 内容说明 备注Ethernet II以太网协议版本 IISource: Apple_de:1f:24厂名:序号(64:c7:53: de:1f:24)网卡地址Type: IPv4 (0x0800)协议类型
4.2、网络层 内容说明 备注Src: 10.22.35.213,源地址Dst: 220.181.38.251目的地址Version: 4互联网协议版本… 0101 Header Length: 20 bytes (5)帧头部长度Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)差分服务字段(服务类型)Total Length: 84帧的总长度Identification: 0x4117 (16663)标识字段Flags: 0x00标识字段Don’t Fragment Not set0允许分片1为不允许分片大于MTU制之后就丢弃报文More Fragments set 大于MTU值 1代表后面还有分片包 0代表最后一个分片包 小于等于MTU值 0代表后面还有分片包 0代表最后一个分片包 Fragment Offset 0分片偏移量第一片为0第二片开始有偏移量通常与More Fragments set组合使用Total Length数据长度Seq序列号用来定位丢包通常序列号顺序连续Identification同一个包的不同分片的标识Fragment Offset: 0分段偏移量Time to Live: 64生存期 ITLProtocol: ICMP (1)上层协议Header Checksum: 0x9383 [validation disabled]头部数据的校验和[Header checksum status: Unverified]头部数据的校验和状态Source Address: 10.22.35.213源IP 地址Destination Address: 220.181.38.251目的IP 地址
1在设计以太网时人为规定了每个帧的最大长度1500字节 (即除去以太网帧首部的数据部分作为每次数据传输单元即MTU。
2物理层会限制每次发送数据帧的最大长度当网络层收到一份待发送的IP数据报时会进行选路选择出接口并查询该接口MTU值。
3如果IP数据报中的数据长度大于该接口MTU值会发两种情况丢包或分片。当IP数据报开启允许分片功能则会进行分片否则就丢包。
例如分析IP分片数据包分析
4IP分片数据包
由于以太网数据报的“数据”部分最长只有1500字节因此如果IP数据报超过了1500字节就需要分割成多个以太网数据包分开发送。
在使用ping命令时默认是不会超过1500字节的所以如果想要获取IP分片包需要指定发送的ICMP包大大小。
比如 ping 192.168.0.1 -l 3000 指定获取包的大小为3000
5分析IP分片数据包分析 在该获取文件中123帧和678帧是一个完整的ping包其中123是一个请求包678是响应包。 1》分析 第1帧数据包 2》分析第2帧数据包 3》分析第3帧数据包 5、过滤条件-抓获过滤器
5.1、对源地址及目的地址过滤
ip.src ip地址 ip.dst ip地址
5.2、对源地址或者目的地址过滤
ip.addr ip地址
5.3、对源地址或者目的端口过滤
tcp.port 80
5.4、大于某个端口的过滤
tcp.port 60000
5.5、协议过滤
协议过滤 直接在filter框中输入协议名如过滤HTTP协议则http
5.6、http协议相关过滤 过滤出请求地址中包含“user”的请求
http.request.uri contains User
5.7、过滤域名
http.host www.baidu.com
5.8、模糊过滤域名
http.host contains baidu
5.9、过滤请求的content_type类型
http.content_type text/html
5.10、过滤http响应状态码
http.response.code 200
5.11、过滤含有指定cookie的http数据包
http.cookie contains userid
5.12、捕获多端口的数据包可以使用and来连接
udp.port 2048
5.13、针对长度和内容的过滤
udp.length 20 http.content_length 30
5.14、针对uri 内容的过滤
http.request.uri matches user (请求的uri中包含“user”关键字的) matches 后的关键字是不区分大小写的。
http.request.uri contains User (请求的uri中包含“user”关键字的)
5.15、过滤出请求地址中包含“user”的请求不包括域名
http.request.uri contains User
5.16、精确过滤域名
http.hostbaidu.com
5.17、模糊过滤域名
http.host contains baidu
5.18、过滤请求的content_type类型
http.content_type text/html
5.19、过滤http请求方法
http.request.methodPOST
http.request.methodGET
5.20、过滤tcp端口
tcp.port80
http tcp.port80 or tcp.port5566
5.21、过滤http响应状态码
http.response.code302
5.22、过滤含有指定cookie的http数据包
http.cookie contains userid
5.23、比较符号
与或者and 或||或者or 非或者not 5.24、常用表达式实例
src www.baidu.com
dst www.baidu.com
5.25、过滤出源mac地址的数据包
src ether host 98:1a:35:98:09:6f
5.26、不抓取广播包
!broadcast
5.27、通过mac地址过滤
ether host 98:1a:35:98:09:6f
6、报文分片说明
如果当传输数据量超过设置的MTU时IP就会将数据报进行分片将一个超过MTU的数据报分为多个不大于MTU的数据报进行发送。接收端收到后再进行组装形成完整的数据报。在进行分片时IP通过设置MF标志位为1作为标识是否为最后一个分片。
mtu 设置当前接口的最大传输单元限制MTU
第一个包的MF字段被设置成1说明还有其他分片而最后一个包的MF字段为0标志着这是最后一个分片
6.1 有分片说明 6.2 没有分片说明