Wireshark的简单使用(关于抓协议)

       公司在运维中,发现客户的PC端的客户端总是莫名其妙出现问题,而有些问题服务端并没有相关报错日志,于是我们把排查范围就放到客户端上,是否客户端在交互协议的时候导致一些问题呢?比如客户端上的该显示的数据没有了,相关配置文件都没有问题等类型问题。


       先介绍一下Wireshark工具吧,这是一个我觉得比较入门级的抓协议的工具,简单好用而已还有汉化版,Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息今天来说说简单的使用吧。


       先从百度自己搜这个工具,一大堆,而且都是官方汉化好的,工具也不大,这一步我就不多说了。

       安装完成后打开工具,如下图


选择一个网络,我是局域网用户,我一般选择心跳波动比较大的那个连接。


        这里先以QQ登录为例来说明一下

        点击进去后,先选择下图的红色框里的停止按钮清理一下之前的所有的内容。

扫描二维码关注公众号,回复: 1872584 查看本文章



       然后打开QQ,在点QQ登陆的时候,点击上图的绿色类似帆船的按钮,然后再点登陆QQ,如下图


       就会出现一大堆数据包,这个时候我们要找到我们想要的数据,就需要过滤一下条件,否则一个一个去看,很费时间,具体过滤条件,我会在后文大概罗列一个表。

       过滤的话在停止按钮下面有个“应用显示过滤器”的文本框,输入你要过滤的条件,而QQ就可以使用oicq来过滤,如下图



      我们发现一下协议少了很多。我对上面的数据一一解释一下。

NO.、TIME、Lenth和Info我就不介绍了吧。

Source是发送方,也就是起始IP地址。

Destination是接收方地址,也就是目的IP。

我因为是局域网用户,所以我的IP是172.18.1.94,而腾讯那面接受的地址是61.151.180.235(地址我查了是上海,难道我连得是腾讯上海服务器?)

Protocol是协议的意思,我们过滤的是oicq,所以都显示的是oicq(为何是oicq而不是qq,这个就需要去八一八腾讯QQ的起家历史了)

       另外鼠标右键这个协议会看到详细交互内容。


       而下面的五行内容,我也分别说一下吧

第一行是有81bytes写入,81bytes被捕获在端口0,我个人理解是没有丢包,如有不正确希望指出。

第二行是以太网二代,主要是MAC地址吧,如有不正确希望指出。

第三行是IPV4协议,目的IP和起始IP。

第四行是用户数据报协议,起始端口和目的端口。

第五行OICQ的一些内容了,里面就能看到我们自己的QQ号,这里就不上图了。



       同理,一些需要http协议交互的软件也是一个道理,过滤条件选择http就可以,我就解释一下http的




      最后,这里提供一些关键字过滤,有一些是我用过的,有一些是我从百度总结的,不正确的希望指出。


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.http模式过滤。如过滤get包,http.request.method=="GET",过滤post包,http.request.method=="POST"


4.协议过滤:刚才有提到的oicq和http,还有例如tcp,ftp,dns,ip,smtp,arp等等,如果想排除这些协议,前面这个not就可以了


5.过滤以太网mac:eth.dst=00:00:00:00:00//目标地址,起始地址把dst改成src就行了


6.http模式过滤:比如http.request.method="GET"等等


题外话:可以利用这个软件对一些网络播放的视频软件,比如云播放,可以查到一些播放地址和接口地址。这个就需要自己去发现了,我这就不详细说了。


猜你喜欢

转载自blog.csdn.net/suqi356/article/details/77835641