应用简介
Wireshark是一个专业的网络抓包以及协议分析软件,它可以实时检测网络通讯数据,也可以检测其抓取的网络通讯数据快照文件,最重要的是它是免费使用的,是网络工程师的好帮手,让其轻松的去抓包分析网络,有需要的不要错过。
【使用教程】
下面来说一下Wireshark在抓包后常用的过滤方法,给网络初学者一个参考。
1、过滤源ip、目的ip。
在wireshark的过滤规则框Filter中输入过滤条件。如查找目的地址为192.168.101.8的包,ip.dst==192.168.101.8;查找源地址为ip.src==1.1.1.1
2、端口过滤
如过滤80端口,在Filter中输入,tcp.port==80,这条规则是把源端口和目的端口为80的都过滤出来。使用tcp.dstport==80只过滤目的端口为80的,tcp.srcport==80只过滤源端口为80的包
3、协议过滤
比较简单,直接在Filter框中直接输入协议名即可,如过滤HTTP的协议
4、http模式过滤
如过滤get包,http.request.method=="GET",过滤post包,http.request.method=="POST"
5、连接符and的使用。
过滤两种条件时,使用and连接,如过滤ip为192.168.101.8并且为http协议的,ip.src==192.168.101.8 and http。
【过滤规则】
只抓取符合条件的包,在Wireshark通过winpacp抓包时可以过滤掉不符合条件的包,提高我们的分析效率。
如果要填写过滤规则,在菜单栏找到capture->options,弹出下面对话框,在capture filter输入框内填写相应的过滤规则,点击下方的start 就生效了。
1.只抓取HTTP报文
tcp port 80
解析:上面是只抓取tcp 协议中80端口的包,大部分Web网站都是工作在80端口的,如果碰到了81端口呢?可以使用逻辑运算符or呗!如 tcp port 80 or tcp port 81
2.只抓取arp报文
ether proto 0x0806
解析:ether表示以太网头部,proto表示以太网头部proto字段值为0x0806,这个字段的值表示是ARP报文,如果的ip报文此值为0x8000
3.只抓取与某主机的通信
host 网站名称
只抓取服务器的通信,src表示源地址,dst表示目标地址
【显示规则说明】
只是将已经抓取到的包进行过滤显示。可以在软件页面下方的输入框添入相应的规则点击apply即可,如果需要清除这一次的显示过滤点击Clear即可
1、只显示HTTP报文【tcp.port == 80】
2、只显示ARP报文【eth.type == 0x806】
也许你会说Type后面的值记不住,没关系可以点击Expression会弹出Filter Expression窗口,如下图:
3、只显示与某主机的通信【ip.addr == 42.121.252.58】
4、只显示ICMP报文【Icmp】
【常见问题】
一、抓包问题
1、无法捕获数据包
可能原因:网络适配器未正确配置、Wireshark未选择正确的网络接口、防火墙或安全软件阻止等。
解决方案:检查网络适配器的设置,确保Wireshark选择了正确的网络接口。同时,检查防火墙和安全软件的设置,确保它们不会阻止Wireshark捕获数据包。
2、捕获的数据包不完整
可能原因:抓包方式引起,某些操作系统或抓包工具可能默认只捕获数据包的一部分。
解决方案:在抓包时,可以尝试使用更长的快照长度(snapshot length)来捕获完整的数据包。例如,在tcpdump命令中使用“-s”参数指定想要抓的字节数。
3、捕获到的是IPv6地址
在双栈网络中,系统可能优先使用IPv6。如果需要捕获IPv4的数据包,可以设置系统优先使用IPv4。
二、数据分析问题
1、无法解析数据包
可能原因:Wireshark缺少相应的解码器或协议分析器。
解决方案:确保Wireshark安装了所有必要的协议分析器。对于某些特定的数据包或协议,可能需要从Wireshark的插件库或第三方源下载额外的解码器。
2、数据包显示乱码
可能原因:数据包的内容被加密或编码,Wireshark无法直接解析。
解决方案:如果数据包被加密,可能需要提供正确的密钥才能解析。对于编码的数据包,可以尝试使用适当的解码器进行解码。
三、其他常见问题
1、程序运行缓慢
可能原因:捕获的数据量过大、系统资源不足等。
解决方案:尝试减少捕获的数据量,例如通过设置捕获过滤器来只捕获感兴趣的数据包。同时,确保系统有足够的资源(如CPU、内存和磁盘空间)来运行Wireshark。
2、程序崩溃或无响应
可能原因:软件缺陷、与其他软件的冲突等。
解决方案:尝试更新到最新版本,以修复可能存在的软件缺陷。同时,检查是否有其他软件与Wireshark冲突,并尝试关闭这些软件以解决问题。