Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。
在Linux上使用wireshark捕捉网络数据包的权限问题
1.添加wireshark用户组
sudo groupadd wireshark
2.将dumpcap更改为wireshark用户组
sudo chgrp wireshark /usr/bin/dumpcap
3.让wireshark用户组有root权限使用dumpcap
sudo chmod 4755 /usr/bin/dumpcap
4.将需要使用的用户名加入wireshark用户组
sudo gpasswd -a $(whoami) wireshark
Wireshark的使用
-
选择一个网卡进行监控
-
界面介绍
过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。
过滤器有两种
一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录
一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。 在Capture -> Capture Filters 中设置 -
过滤表达式的规则
- 协议过滤
比如TCP,只显示TCP协议。 - IP 过滤
比如 ip.src ==192.168.1.102 显示源地址为192.168.1.102,
ip.dst==192.168.1.102, 目标地址为192.168.1.102 - 端口过滤
tcp.port ==80, 端口为80的
tcp.srcport == 80, 只显示TCP协议的愿端口为80的。 - Http模式过滤
http.request.method=="GET", 只显示HTTP GET方法的。 - 逻辑运算符为 AND/ OR
-
封包列表(Packet List Pane)
封包列表的面板中显示,编号,时间戳,源地址,目标地址,协议,长度,以及封包信息。 你可以看到不同的协议用了不同的颜色显示。
封包详细信息 (Packet Details Pane)
Frame: 物理层的数据帧概况
Ethernet II: 数据链路层以太网帧头部信息
Internet Protocol Version 4: 互联网层IP包头部信息
Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP -
Wireshark与对应的OSI七层模型
-
TCP包的具体内容
从下图可以看到wireshark捕获到的TCP包中的每个字段
-
实例分析TCP三次握手过程
网友评论