详细介绍
wireshark是一款网络封包分析软件,也就是俗称的抓包工具。它的功能就是撷取网络封包,并尽可能显示出最为详细的网络封包资料,同时其使用WinPCAP作为接口,可直接与网卡进行数据报文交换。wireshark可实时检测网络通讯数据,可检测其抓取的网络通讯数据快照文件,同时用户还可通过图形界面浏览这些数据,并查看网络通讯数据包中每一层的详细内容。wireshark具有捕获并解码网络上的数据、分析具有专门的协议的网络活动、生成并显示关于网络活动的统计结果、分析具有专门的协议的网络活动和生成并显示关于网络活动的统计结果等多种强大功能。但是需要注意的是Wireshark不是入侵检测系统,因而其不会检测网络异常。同时仅能监视网络,不能处理网络事务,因而不能像loadrunner一样发送和修改网络包或做其他交互性事情。该版本为中文版,所以在使用的过程中需选择合适的字体,具体在编辑->首选项设置->用户接口->字体中设置,同时软件只支持32位操作系统使用。
功能
1、捕获并解码网络上的数据
2、分析具有专门的协议的网络活动
3、生成并显示关于网络活动的统计结果
4、进行网络能力的类型分析 ?
5、分析具有专门的协议的网络活动
6、生成并显示关于网络活动的统计结果
7、进行网络能力的类型分析
软件特点
1、支持UNIX和Windows平台
2、可实时捕获并详细显示网络包
3、可通过多种方式过滤查找包
4、可进行多种统计分析
5、开源软件,可支持插件功能
使用方法
1、确定Wireshark的位置。如果没有一个正确的位置,启动Wireshark后会花费很长的时间捕获一些与自己无关的数据
2、选择捕获接口。一般都是选择连接到Internet网络的接口,这样才可以捕获到与网络相关的数据。否则,捕获到的其它数据对自己也没有任何帮助
3、使用捕获过滤器。通过设置捕获过滤器,可以避免产生过大的捕获文件。这样用户在分析数据时,也不会受其它数据干扰。而且,还可以为用户节约大量的时间
4、使用显示过滤器。通常使用捕获过滤器过滤后的数据,往往还是很复杂。为了使过滤的数据包再更细致,此时使用显示过滤器进行过滤
5、使用着色规则。通常使用显示过滤器过滤后的数据,都是有用的数据包。如果想更加突出的显示某个会话,可以使用着色规则高亮显示
6、构建图表。如果用户想要更明显的看出一个网络中数据的变化情况,使用图表的形式可以很方便的展现数据分布情况
7、重组数据。Wireshark的重组功能,可以重组一个会话中不同数据包的信息,或者是一个重组一个完整的图片或文件。由于传输的文件往往较大,所以信息分布在多个数据包中,为了能够查看到整个图片或文件,这时候就需要使用重组数据的方法来实现
过滤规则
一、过滤规则只抓取符合条件的包,在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 www.aiya8.com
只抓取哎呀吧下载站软件站服务器的通信,src表示源地址,dst表示目标地址
4.只抓取ICMP报文
icmp
二、 显示规则只是将已经抓取到的包进行过滤显示,在下方的输入框添入相应的规则点击apply即可,如果需要清除这一次的显示过滤点击Clear即可
1.只显示HTTP报文
tcp.port == 80
2.只显示ARP报文
eth.type == 0x806
3.只显示与某主机的通信
ip.addr == 42.121.252.58
4.只显示ICMP报文
Icmp
过滤命令
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最常用的自然是针对IP地址的过滤。其中有几种情况:
1.对源地址为192.168.0.1的包的过滤,即抓取源地址满足要求的包。
表达式为:ip.src == 192.168.0.1
2.对目的地址为192.168.0.1的包的过滤,即抓取目的地址满足要求的包。
表达式为:ip.dst == 192.168.0.1
3.对源或者目的地址为192.168.0.1的包的过滤,即抓取满足源或者目的地址的ip地址是192.168.0.1的包。
表达式为:ip.addr == 192.168.0.1,或者 ip.src == 192.168.0.1 or ip.dst == 192.168.0.1
4.要排除以上的数据包,我们只需要将其用括号囊括,然后使用 "!" 即可。
表达式为:!(表达式)
二、针对协议的过滤1.仅仅需要捕获某种协议的数据包,表达式很简单仅仅需要把协议的名字输入即可。
表达式为:http
2.需要捕获多种协议的数据包,也只需对协议进行逻辑组合即可。
表达式为:http or telnet (多种协议加上逻辑符号的组合即可)
3.排除某种协议的数据包
表达式为:not arp !tcp
三、针对端口的过滤(视协议而定)1.捕获某一端口的数据包
表达式为:tcp.port == 80
2.捕获多端口的数据包,可以使用and来连接,下面是捕获高端口的表达式
表达式为:udp.port >= 2048
四、针对长度和内容的过滤1.针对长度的过虑(这里的长度指定的是数据段的长度)
表达式为:udp.length < 30 http.content_length <=20
2.针对数据包内容的过滤
表达式为:http.request.uri matches "vipscu" (匹配http请求中含有vipscu字段的请求信息)
快捷键
Ctr+O 文件打开
Ctrl+W 关闭文件
Crl+S 保存
Shift+Ctrl+S 另存为...
Ctr+P 打印
Ctrl+Q 关闭
Shift+Ctrl+C 拷贝
Ctr+F 搜索数据包
Ctrl+N 搜索下一个
Ctr+B 搜索前一个
Ctrl+M 对数据包做标记(标定)
Shift+Ctrl+N 搜索下一个标记的包
Ctrl+Shift+B 搜索前一个标记的包
Ctrl+T 设置参考时间 (标定
Shift+Ctrl+P 参数选择
Ctrl++
增大字体
Ctrl+-
缩小字体
Ctrl+=
恢复正常大小
Ctrl+R
重新再如当前捕捉文件
Alt+Left 向后运行
Alt+Right 向前运行
Ctrl+G 转移到某数据包
Ctrl+UP 前一个数据包
Ctrl+Down 下一个数据包
Ctrl+K 捕获参数选择
Ctrl+E 停止捕获网络数据
Shift+Ctrl+R 已可以分析的协议列表