wireshark——网络抓包工具


发布于 2024-07-23 / 25 阅读 / 0 评论 /
Wireshark(前称Ethereal)是一个网络封包分析软件。

我们在进行trouble-shooting的时候,常常需要进行网络抓包,以便更好地了解通信过程,wireshark就是满足这种场景的工具。

wireshark只能查看封包,而不能修改封包的内容,或者发送封包。

wireshark能获取HTTP,也能获取HTTPS,但是不能解密HTTPS,所以wireshark看不懂HTTPS中的内容。

1.使用案例

首先需要选择一个network interface,监听网络包。

可以看到,这个网络包是351个字节,帧id是83092,左侧是哥哥分层数据包的可读数据,右侧是二进制数据。

(1)Frame: 【物理层】的数据帧概况

帧的统计信息如下图所示:

(2)Ethernet II: 【数据链路层】以太网帧头部信息

包括网络栈类型,源端地址和目的端地址信息。

(3)Internet Protocol Version 4: 互联网层IP包头部信息,属于【网络层】

具体包的内容可查看IP协议。

(4)Transmission Control Protocol: 【传输控制层】此处是TCP

(5)Transport Layer Security: 【应用层】的信息,此处是HTTPS协议

可以看到,这里包含数据包,是加密的应用数据。

2.wireshark过滤器语法

wireshark可以通过过滤器进行包的过滤。

2.1.比较操作符

比较操作符有以下几种

(1)==

等于

(2)!=

不等于

(3)>

大于

(4)<

小于

(5)>=

大于或等于

(6)<=

小于或等于

2.2.ip过滤

通过可以通过ip进行过滤,有以下几种场景

(1)ip.src ==127.0.1.101

显示源地址为127.0.1.101的数据包列表

(2)ip.dst==127.0.1.101

显示目标地址为127.0.1.101的数据包列表

(3)ip.addr == 127.0.1.101

显示源IP地址或目标IP地址为127.0.1.101的数据包列表

2.3.端口过滤

也可以通过端口进行过滤,需要指定传输层协议。

(1)tcp.port ==80

显示源主机或者目的主机端口为80的数据包列表。

(2)tcp.srcport == 80

只显示TCP协议的源主机端口为80的数据包列表。

(3)tcp.dstport == 80

只显示TCP协议的目的主机端口为80的数据包列表。

2.4.Http模式过滤

可以通过方法进行过滤,同样需要指定应用层协议

(1)http.request.method=="GET"

只显示HTTP GET方法的。

2.5.逻辑运算符为 and/or/not

过滤多个条件组合时,使用and/or。

比如获取IP地址为183.232.231.174的ICMP数据包表达式为

ip.addr == 183.232.231.174 and icmp