Wireshark流量分析

一、wireshark过滤器表达式

协议过滤

TCP:只显示TCP协议的数据流
HTTP:只显示HTTP协议的数据流
ICMP:只显示ICMP协议的数据流
ARP:只显示ARP协议的数据流
DNS:显示DNS协议的数据流
IP过滤

ip.addr = 192.168.116.138,只显示ip为192.168.116.138有关的数据流
ip.src = 192.168.116.138,只显示源IP地址为192.168.116.138的数据流
ip.dst = 192.168.116.138,只显示目标IP地址为192.168.116.138的数据流
端口过滤

tcp.port == 80,只显示80端口TCP数据流
udp.prot == 67,只显示67端口UDP数据流
tcp.srcport == 80, 只显示源地址的80端口数据流
tcp.dstport == 80,只显示目的地址80端口数据流
过滤HTTP协议

http.request.method==“GET”,显示get请求
http.request.method==“POST” ,显示POST请求
http.request.url contains admin ,显示url中包含admin的请求
http.request.code==404,显示状态码为404
http contains “FLAG”,请求或相应中包含特定内容
连接符
and,or
如:tcp.port == 80 and ip.addr = 192.168.116.138

过滤包长度

udp.length20,整个UDP数据包
tcp.len>=20,TCP数据包中的IP数据包
ip.len
20,整个IP数据包
frame.len==20,整个数据包
wireshark着色规则
点开左上角视图中的着色规则就能看到

二、数据流的追踪

我们的一个完整的数据流一般都是由很多个包组成的;
所以当我们想查看某条数据包对于的数据流的话。可以选中数据,右键选择追踪流;
里面就会有tcp流、udp流、ssl流、http流。数据包属于哪种流就选择对应的流;
当我们选择了追踪流时,会弹出该流的完整的数据流还有这个数据流中包含的数据包,对话框下面可以选择数据流方向,顶部的过滤器就是该流的过滤规则

三、数据包的统计分析

统计中的协议分级功能可以查看所选包协议的分布情况,帮助识别可疑协议,和不正常的网络应用程序

在Endpoints窗口中,可以通过排序Bytes和Tx Bytes来判断占用带宽最大的主机

Conversions窗口可以看到两个主机之间发送/接收数据包的数量、字节大小以及数据的流向情况,也可以通过排序来判断占用最大带宽的主机;
在Conversions窗口中只能看到会话的统计情况,无法看到包的具体内容;
这时可以使用快速过滤会话功能,过滤出想要查看的内容;
快速过滤会话的功能在Conversions窗口中进行操作,可以对选中的会话或者非选中的会话选择数据流向进行过滤

四、数据包的大致结构

第一行:数据包整体概述
第二行:链路层详细信息,主要的是双方的mac地址
第三行:网络层详细信息,主要的是双方的IP地址
第四行:传输层的详细信息,主要的是双方的端口号
第五行:TCP或UDP是传输的DATA,DNS这是域名的相关信息

**

五、网络分析

**
只抓包头
在进行网络分析时往往只需要知道两个节点是不是能够联通,具体的传输信息并不重要,所以抓包的时候可以设置只抓包头,这样就大大减少了数据包的大小,有利于数据分析;
设置方法:Capture(捕获)–>Options(选项)–>Snaplen(Snap长度);
将这个值设置200以下就可以抓到所有网络层次的头信息了
另外也可以直接点击任务栏里的快捷键,快速设置

只抓必要的包
我们可以设置抓包的filter,只抓一些感兴趣的包;
设置方法:Capture(捕获)–>Options(选项)–>Capture Filter(捕获过滤器)

在输入框里输入规则,然后点击开始即可,比如输入
dst host 220.181.38.148(捕获目标主机为220.181.38.148的数据包)
220.181.38.148是ping www.baidu.com的ip地址,不同地理位置ping的ip可能不一样,然后浏览器访问百度就可以看到我们想要的捕获结果

六、自动分析

Wireshark有强大的统计分析功能,可以帮助分析人员快速统计出一些基本信息。比如点击Analyze(分析)–>Expert InfoComposite(专家信息),就可以看到数据包的中的一些不同级别的信息统计,包含重传次数、链接建立次数、网络错误等,在分析网络性能时这个功能很有作用

单击Statistics(统计)–>TCPStream Graph(TCP流图形),可以生成一些统计图表

此外还可以统计分层信息、网络会话列表、网络端点列表、ip地址统计列表、应用层数据包信息等