Wireshark入门到超神-第一章-过滤器-数据包解析

首页 / 新闻资讯 / 正文

推荐阅读:

过滤器

显示过滤器 和 捕获过滤器,俩者使用非常类似。

Wireshark入门到超神-第一章-过滤器-数据包解析

在Wireshark首页未选定接口前可以输入捕获规则。

Wireshark入门到超神-第一章-过滤器-数据包解析

多个过滤要求可以用连接词 &&


wireshark进行过滤时,按照过滤的语法可分为协议过滤内容过滤

对标准协议,既支持粗粒度的过滤如HTTP,也支持细粒度的、依据协议属性值进行的过滤。

tcp.port==53、http.request.method=="GET"

对内容的过滤,既支持深度的字符串匹配过滤如http contains "Server",也支持特定偏移处值的匹配过滤。

tcp[20:3] == 47:45:54

例子:

  • 过滤IP和MAC地址
//ip 改成 eth,就是过滤 mac 地址  ip.addr == 8.8.8.8 ip.src == 8.8.8.8 ip.dst == 8.8.8.8 ip.addr == 10.0.0.0/16
  • 过滤端口
//tcp 可以改成 udp  tcp.port == 9090 tcp.dstport == 9090 tcp.srcport == 9090 tcp.port >=1 and tcp.port <= 80
  • 根据长度过滤
tcp.len >= 7      (tcp data length) ip.len == 88      (except fixed header length) udp.length == 26  (fixed header length 8 and data length) frame.len == 999  (all data packet length)
  • HTTP数据包过滤
http.host == xxx.com // 过滤 host  http.response == 1 // 过滤所有的 http 响应包  http.response.code == 302 // 过滤状态码 302  http.request.method==POST  // 过滤 POST 请求包  http.cookie contains xxx // cookie 包含 xxx  http.request.uri=="/robots.txt" //过滤请求的uri,取值是域名后的部分  http.request.full_uri=="http://.com" // 过滤含域名的整个url  http.server contains "nginx" //过滤http头中server字段含有nginx字符的数据包  http.content_type == "text/html" //过滤content_type是text/html  http.content_encoding == "gzip" //过滤content_encoding是gzip的http包  http.transfer_encoding == "xx" //根据transfer_encoding过滤  http.content_length == 279  http.content_length_header == "279" //根据content_length的数值过滤  http.request.version == "HTTP/1.1" //过滤HTTP/1.1版本的http包,包括请求和响应
  • 可用协议
tcp、udp、arp、icmp、http、smtp、ftp、dns、msnms、ip、ssl、oicq、bootp

数据包解析

Packet Details Pane(数据包详细信息), 在数据包列表中选择指定数据包,在数据包详细信息中会显示数据包的所有详细信息内容。

数据包详细信息面板是最重要的,用来查看协议中的每一个字段。各行信息分别为:

(1)Frame: 物理层的数据帧概况

(2)Ethernet II: 数据链路层以太网帧头部信息

(3)Internet Protocol Version 4: 互联网层IP包头部信息

(4)Transmission Control Protocol: 传输层T的数据段头部信息

(5)Hypertext Transfer Protocol: 应用层的信息

Wireshark入门到超神-第一章-过滤器-数据包解析


从下图可以看到Wireshark捕获到的数据包中的每个字段:

Wireshark入门到超神-第一章-过滤器-数据包解析

参考