一、Wireshark

Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是截取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
在过去,网络封包分析软件是非常昂贵的,或是专门属于盈利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的途径取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是全世界最广泛的网络封包分析软件之一。

下载地址: https://www.wireshark.org

wireshark流量图怎么看 wireshark查看实时流量_Wireshark

二、使用教程

1.选择网卡

如图,点击指定的网卡即可进行监听

wireshark流量图怎么看 wireshark查看实时流量_IP_02


开启后,即可进入主页面:

wireshark流量图怎么看 wireshark查看实时流量_网络安全_03

2.常用功能

因为这不是个科普文,所以直接讲平时工作怎么用。

(1)过滤功能

这应该是wireshark最直观的功能了,过滤条件在下图红框处输入:

在这里插入图片描述

wireshark流量图怎么看 wireshark查看实时流量_HTTP_04


场景一:地址过滤

IP地址过滤,比较常用,在过滤器Filter中输入过滤条件实现过滤源ip,语法:

源ip:ip.src == IP 或 ip.src eq IP 目的ip:ip.dst == IP或 ip.dst eq IP

指定主机ip,源或目的: ip.host == IP或 ip.host eq IP,或者用ip.addr

指定的源ip或指定的目的ip: ip.src == IP or ip.dst == IP

指定的源ip并且指定的目的ip: ip.src == IP and ip.dst == IP

IP层还可以跟进IP协议的字段过滤,在过滤器中输入ip.可以查看其它选项.

wireshark流量图怎么看 wireshark查看实时流量_Wireshark_05

场景二:端口过滤
端口过滤非常常用,要指明协议是tcp还是udp,可以用srcport,dstport,port,端口可以用比较符合>,>=,<,<=,==,eq,例子如下:

过滤目的端口是80端口的tcp报文:tcp.dstport == 80

wireshark流量图怎么看 wireshark查看实时流量_IP_06

过滤源端口是443的tcp报文:tcp.srcport == 443

wireshark流量图怎么看 wireshark查看实时流量_wireshark流量图怎么看_07


可以用协议(tcp,udp),端口(srcport,dstport,port),比较符合(>,>=,<,<=,==,eq)以及and和or任意组合,过滤你期望得到的报文。场景三:协议过滤

tcp,udp,arp,icmp,http,smtp,ftp,dns,msnms,ip,ssl,oicq,bootp等。可使用‘!’或者‘not’进行排除。

如选择所有tcp包:

wireshark流量图怎么看 wireshark查看实时流量_wireshark流量图怎么看_08


非tcp包:

wireshark流量图怎么看 wireshark查看实时流量_wireshark流量图怎么看_09


wireshark流量图怎么看 wireshark查看实时流量_网络安全_10


场景四:HTTP报文处理

过滤HTTP的GET请求和POST请求,以及HTTP过滤内容

http.request.method == GET

wireshark流量图怎么看 wireshark查看实时流量_Wireshark_11

过滤HTTP协议的响应包,响应码是200的

http contains "HTTP/1.1 200 OK"

wireshark流量图怎么看 wireshark查看实时流量_网络安全_12

用contains字段过滤内容,如 过滤HTTP协议Content-Type类型,Content-Type: text/plain;tcp包含admin

http contains "Content-Type: text/plain"

过滤包的指定的字段:协议[其实位置:长度]

wireshark流量图怎么看 wireshark查看实时流量_IP_13

举个例子:tcp协议,从第2个字符开始(起始是0,不是1,这个2是偏移的位置),长度为3,内容为01,bb,eb

tcp[2:3] == 01:bb:eb
(2)数据流追踪功能

follow stream功能是非常实用的功能,如果你想检测某个内网用户完整的web访问记录,挨着去看请求是非常繁琐的事情,使用数据流追踪可以轻松实现。如追踪http请求:

wireshark流量图怎么看 wireshark查看实时流量_网络安全_14


wireshark流量图怎么看 wireshark查看实时流量_HTTP_15

应用场景还是蛮多的,比如你想跟踪用户的访问路径,追踪某个木马的来源等等

(3)统计分析功能

Wireshark的一个强大的功能在于他的统计工具,使用Wireshark的时候我们有各种类型的工具可供选择,这里介绍基本网络统计工
具。包括:捕捉文件摘要(Summary)、捕捉包层次结构(Protocol Hirarchy)、会话(Conversations)、网络节点(Endpoints)、HTTP

捕捉文件摘要

1、捕捉文件摘要对抓取的数据包进行全局统计,Staristics–>Summary

2、这一菜单简单收集所有抓包数据,在定义了过滤条件的时候,将呈现过滤后的数据,当想要知道每秒的平均报文数或字节数时,使用此工具

wireshark流量图怎么看 wireshark查看实时流量_Wireshark_16

File:捕捉文件的一般信息,如文件名和路径,长度,等等。
Tme:第一个包和最后一个包的时间戳,以及抓包过程持续时间。
Capure:显示文件捕捉于哪一个接口,以及评论窗口。
Display窗口,展示抓包文件统计信息的摘要,包括:捕捉报文总数与百分比,显示报文数量(加上过滤条件之后),标记报文数量

捕捉包层次结构

1、捕捉包层次结构统计了通信流量中不同协议占用额百分比,通过这个工具可以对全网流量有直观的了解,到底整个网络那些流量占用最多,那些占用最少等等。打开statistics–>protocol hierarchy

wireshark流量图怎么看 wireshark查看实时流量_HTTP_17

图中我们可以看出,Ethernet的流量包括IPv4和IPv6,IPv4包括UDP和TCP,这几个分项的和就是以太网百分百的流量

Protocol:协议名称

% Packets:含有该协议的包数目在捕捉文件所有包所占的比例

Packets:含有该协议的包的数目、Bytes含有该协议的字节数

Mbit/s:抓包时间内的协议带宽、End Packets 该协议中的包的数目(作为文件中的最高协议层)

End Bytes:该协议中的字节数(作为文件中的最高协议层)

End Mbit/s :抓包时间内的协议带宽(作为文件中的最高协议层)

wireshark流量图怎么看 wireshark查看实时流量_wireshark流量图怎么看_18

2、在网络异常的时候,通过分析这些数据包占用的流量我们可以判断网络问题,如图这是一个正常的网络占用百分比,例如网络发生了ARP攻击,那么ARP在这里的占用也许会显示20%或者30%

会话统计

1、会话统计功能,统计通信会话之间接收和发送的数据包和字节数,通过这个工具可以找出网络中哪个会话(IP地址或端口号)最占用带宽,进一步作出网络策略。打开Statistics–>Conversations

wireshark流量图怎么看 wireshark查看实时流量_HTTP_19

2、进入界面可以选择2层以太网统计数据,第3层IP统计数据,或4层tcp或udp统计数据。

wireshark流量图怎么看 wireshark查看实时流量_Wireshark_20

3、在以太网回话统计中可以查找以下问题:(1) 可以看见较轻微的广播风暴;而对于每秒数千甚至数万个报文的严重广播风暴,Wireshark会停止显示数据并且屏幕冻结。只有断开Wireshark连接时才能看见。(2)如果你看到来自某一MAC地址的大量数据,查看会话第一部分的vendor ID,会给你一些导致问题的线索。即使MAC地址的第一部分标识了vendor,但它并不一定就标识了PC本身。这是由于MAC地址属于PC上安装的以太网芯片厂商,而并不一定属于PC制造商。如果无法识别数据流来源地址,可以ping嫌疑地址并通过ARP获取它的MAC地址,在交换机中查找该地址,如果有操作系统的话直接用find命令来定位。

在IP会话统计中可以查找一下问题:(1)查看收发大量数据流的IP地址。如果是你知道的服务器(你记得服务器的地址或地址范围),那问题就解决了;但也有可能只是某台设备正在扫描网络,或仅是一台产生过多数据的PC。(2) 查看扫描模式(scan pattern)。这可能是一次正常的扫描,如SNMP软件发送ping报文以查找网络,但通常扫描都不是好事情。

在tcp/udp会话统计中可以查看以下问题(1) 查看带有太多TCP连接的设备。每一个PC合理的连接数是10到20个,上百个则是不正常的(2)尝试查找无法辨识的端口号。它可能是正常的,但也可能是有问题的。

网络节点统计

1、网络节点功能,统计通信会话中每个节点接收和发送的数据包和字节数,通过这个工具可以找出网络中哪个节点(IP地址或端口号)最占用带宽。打开statistics–>Endpoints

2、如下图所示,在此窗口中能够看到2,3,4层的endpoints,也就是以太网。IP,tcp或udp,终端节点统计是面向IP的,可以查看具体某一个IP发送的流量以及占用带宽

wireshark流量图怎么看 wireshark查看实时流量_网络安全_21

3、这一工具列出了Wireshark发现的所有endpoints上的统计信息,可以是一下任意一种情况:

少量以太网endpoints(MAC地址)与大量IP终端节点(IP地址):可能的情况例如,一个路由器从很多远端设备收发报文,我们会看见路由器的MAC地址以及很多IP地址经由此处。

少量IP终端节点与大量tco终端节点:可能的情况是每一台主机有很多个tcp连接。可能是有很多连接到额服务器的一个正常操作,也可能是一种网络攻击(如SYN攻击)

HTTP

1、从statistic菜单,选择HTTP,将会出现以下窗口

wireshark流量图怎么看 wireshark查看实时流量_网络安全_22

2、在http子菜单中,可以看到以下信息

Packet Counter:每一个网站的报文数量。帮助识别有多少响应和请求。

Requests:各网站的请求分布

Load Distribution:各网站的负载分布

查看Packet Couter统计信息,显示以下过滤窗口,在此窗口中,可设置过滤条件以查看符合条件的统计信息。信息想要查看整个抓包文件的统计信息,不添加信息就会显示IP层之上的统计信息,也就是所有http报文,点击Create Stat。

wireshark流量图怎么看 wireshark查看实时流量_wireshark流量图怎么看_23

3、如下图所示,显示了Http Requests,Http Responses信息

wireshark流量图怎么看 wireshark查看实时流量_wireshark流量图怎么看_24

4、查看Requests信息,选择所需过滤条件,不输入过滤条件则对于所有数据

5、点击Create Stat按钮,会出现以下窗口

wireshark流量图怎么看 wireshark查看实时流量_IP_25

6、查看Load Distribution统计信息,出现以下窗口。暂时不输入任何过滤条件,点击Create Stat按钮

wireshark流量图怎么看 wireshark查看实时流量_wireshark流量图怎么看_26

关于Wireshark的使用,单独出一本甚至几本书都不为过,鉴于市面上已经有非常多的关于如何使用Wireshark的书籍,这里就不再介绍了,读者可以参考各种图书或官方网站https://www.wireshark.org/进行深入研究。