Wireshark抓包过滤

Wireshark本地回环网络抓包

简介

Wireshark是windows下的抓包工具。

本篇主要记录捕获表达式和过滤表达式,方便后面使用和参考。

Wireshark工具介绍可参考:https://www.cnblogs.com/doit8791/p/5730595.html

捕获过滤器

使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。搞得晕头转向。

过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。

过滤器有两种:

  • 一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录
  • 一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录

常用的捕获表达式

host 10.175.30.35 and tcp port 80	//捕捉目的或来源IP地址为10.175.30.35并且目的和来源TCP端口为80的封包
host 228.228.228.228				//捕捉目的或来源IP地址为228.228.228.228的封包
ip src host 10.175.30.35  			//捕捉来源IP地址为10.175.30.35的封包
ip dst host 10.175.30.35  			//捕捉目的IP地址为10.175.30.35的封包
tcp dst port 80  					//捕捉目的TCP端口为80的封包
src portrange 2000-2500  			//捕捉来源为UDP或TCP,并且端口号在2000至2500范围内的封包。
ether host e0-05-c5-44-b1-3c 		//捕捉目的或来源MAC地址为e0-05-c5-44-b1-3c的封包。如果你想抓本机与所有外网通讯的数据包时,可以将这里的mac地址换成路由的mac地址即可。

Protocol(协议)
可能的值: ether, fddi, ip, arp, rarp, decnet, lat, sca, moprc, mopdl, tcp and udp.
如果没有特别指明是什么协议,则默认使用所有支持的协议。

Direction(方向):
可能的值: src, dst, src and dst, src or dst
如果没有特别指明来源或目的地,则默认使用 “src or dst” 作为关键字。
例如,”host 10.2.2.2″与”src or dst host 10.2.2.2″是一样的。

Host(s):
可能的值: net, port, host, portrange.
如果没有指定此值,则默认使用”host”关键字。
例如,”src 10.1.1.1″与”src host 10.1.1.1″相同。

Logical Operations(逻辑运算):
可能的值:not, and, or.
否(“not”)具有最高的优先级。或(“or”)和与(“and”)具有相同的优先级,运算时从左至右进行。
例如,
“not tcp port 3128 and tcp port 23″与”(not tcp port 3128) and tcp port 23″相同。
“not tcp port 3128 and tcp port 23″与”not (tcp port 3128 and tcp port 23)”不同。

显示过滤器

使用wireshark时,将会得到大量的冗余信息,在几千甚至几万条记录中,以至于很难找到自己需要的部分。通过设置显示过滤器,过滤掉

常用的过滤表达式

#长度过滤、可过滤ack包
ip.src == 192.168.86.11  && tcp.len > 0 

#过滤16进制数据
ip.addr == 117.149.147.100 and tcp contains 28:28:28:F7:27:00

#ipv6
ipv6.addr == fe80::288b:5ff:feae:b18e || ipv6.addr == fe80::20c:29ff:fe99:6b57

协议过滤

tcp							//显示tcp数据包
udp							//显示udp数据包
snmp || dns || icmp 		//显示SNMP或DNS或ICMP封包
http、dns、icmp、snmp……

IP过滤

ip.addr == 10.1.1.1  		//显示来源或目的IP地址为10.1.1.1的封包
ip.src == 192.168.1.102 	//显示源地址为192.168.1.102
ip.dst == 192.168.1.102 	//显示目的地址为192.168.1.102
ip.src != 10.1.2.3 or ip.dst != 10.4.5.6  //显示来源不为10.1.2.3或者目的不为10.4.5.6的封包

端口过滤

tcp.port == 80			//显示来源或目的TCP端口号为80的封包
tcp.dstport == 80  		//显示目的TCP端口号为80的封包
tcp.srcport == 80,  	//显示来源TCP端口号为80的封包

Http模式过滤

http.request.method=="GET"		//只显示HTTP GET方法的数据包

包长度过滤

比如:
udp.length == 26 这个长度是指udp本身固定长度8加上udp下面那块数据包之和
tcp.len >= 7 指的是ip数据包(tcp下面那块数据),不包括tcp本身
ip.len == 94 除了以太网头固定长度14,其它都算是ip.len,即从ip本身到最后
frame.len == 119 整个数据包长度,从eth开始到最后

如果过滤器的语法是正确的,表达式的背景呈绿色。如果呈红色,说明表达式有误。

逻辑运算符为 AND/ OR

ip.src ==192.168.1.102 or ip.dst==192.168.1.102 //源地址或者目标地址是192.168.1.102

其他示例列举

过滤MAC地址/物理地址

该部分转自:https://blog.csdn.net/th_num/article/details/78753971

wireshark中根据MAC地址/物理地址过滤数据包,捕获过滤和显示过滤的语法如下:

wireshark捕获过滤中过滤MAC地址/物理地址

ether host 80:f6:2e:ce:3f:00 //过滤目标或源地址是80:f6:2e:ce:3f:00的数据包

ether dst host 80:f6:2e:ce:3f:00 //过滤目标地址是80:f6:2e:ce:3f:00的数据包

ether src host 80:f6:2e:ce:3f:00 //过滤源地址是80:f6:2e:ce:3f:00的数据包

wireshark显示过滤中过滤MAC地址/物理地址

eth.addr== 80:f6:2e:ce:3f:00 //过滤目标或源地址是80:f6:2e:ce:3f:00的数据包

eth.src== 80:f6:2e:ce:3f:00 //过滤源地址是80:f6:2e:ce:3f:00的数据包

eth.dst== 80:f6:2e:ce:3f:00 //过滤目标地址是80:f6:2e:ce:3f:00的数据包

其他记录

  1. wireshark中查找字符串

参考资料:
https://www.cnblogs.com/doit8791/p/5730595.html
https://blog.csdn.net/cumirror/article/details/7054496
https://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html

  1. Wireshark过滤规则筛选数据包

FAQ 常见问题

  • 3
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值