一、Wireshark可以做什么
-
网络管理员使用Wireshark检测网络问题
-
网安工程师用Wireshark检查信息安全相关问题
-
开发者使用Wireshark为新的通信协议调试
-
普通用户使用Wireshark学习网络协议相关知识
-
憨憨学生使用Wireshark应付TCP/IP课程要求
二、Wireshark不可以做什么
-
Wireshark不是入侵侦测软件(Intrusion Detection Software, IDS)。对于网络上的异常流量行为,Wireshark不会产生警示或是任何提示。然而,仔细分析Wireshark截取的数据包能够帮助用户对于网络行为有更清楚的了解。
-
Wireshark不会对网络数据包产生内容的修改 - 它只会反映出当前流通的数据包信息。Wireshark本身也不会提交数据包至网络上。就是说你只能查看数据包,不能修改或转发。
三、哪里下载
开源软件请去它的官网下载
下载完成后一路next,如果win10系统选择抓包但不显示网卡,需要下载win10pcap兼容性安装包
四、数据包详细信息
各行信息分别为 Frame: 物理层的数据帧概况 Ethernet II: 数据链路层以太网帧头部信息 Internet Protocol Version 4: 互联网层IP包头部信息 Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP * Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议
五、TCP包的具体内容
从下图可以看到wireshark捕获到的TCP包中的每个字段。
六、wireshark过滤器表达式的规则
1、抓包过滤器语法和实例
抓包过滤器类型Type(host、net、port)、方向Dir(src、dst)、协议Proto(ether、ip、tcp、udp、http、icmp、ftp等)、逻辑运算符(&& 与、|| 或、!非)
(1)协议过滤
比较简单,直接在抓包过滤框中直接输入协议名即可。tcp,只显示TCP协议的数据包列表 http,只查看HTTP协议的数据包列表 icmp,只显示ICMP协议的数据包列表
(2)IP过滤
host 192.168.1.104 src host 192.168.1.104 dst host 192.168.1.104
(3)端口过滤
port 80 src port 80 dst port 80
(4)逻辑运算符&& 与、|| 或、!非
src host 192.168.1.104 && dst port 80 抓取主机地址为192.168.1.80、目的端口为80的数据包 host 192.168.1.104 || host 192.168.1.102 抓取主机为192.168.1.104或者192.168.1.102的数据包 !broadcast 不抓取广播数据包
2、显示过滤器语法和实例
(1)比较操作符
比较操作符有== 等于、!= 不等于、> 大于、< 小于、>= 大于等于、<=小于等于。
(2)协议过滤
比较简单,直接在Filter框中直接输入协议名即可。注意:协议名称需要输入小写。tcp,只显示TCP协议的数据包列表 http,只查看HTTP协议的数据包列表 icmp,只显示ICMP协议的数据包列表
(3) ip过滤
ip.src ==192.168.1.104 显示源地址为192.168.1.104的数据包列表 ip.dst==192.168.1.104, 显示目标地址为192.168.1.104的数据包列表 ip.addr == 192.168.1.104 显示源IP地址或目标IP地址为192.168.1.104的数据包列表
(4)端口过滤
tcp.port ==80, 显示源主机或者目的主机端口为80的数据包列表。tcp.srcport == 80, 只显示TCP协议的源主机端口为80的数据包列表。tcp.dstport == 80,只显示TCP协议的目的主机端口为80的数据包列表。
(5) Http模式过滤
http.request.method=="GET", 只显示HTTP GET方法的。
(6)逻辑运算符为 and/or/not
过滤多个条件组合时,使用and/or。比如获取IP地址为192.168.1.104的ICMP数据包表达式为ip.addr == 192.168.1.104 and icmp
(7)按照数据包内容过滤。
假设我要以IMCP层中的内容进行过滤,可以单击选中界面中的码流,在下方进行选中数据。右键-->准备过滤器-->选中-->添加条件表达式,如data contains "uestc"