wireshark是非常流行的网络封包分析软件,功能十分强大。可以截取各种网络封包,显示网络封包的详细信息。使用wireshark的人必须了解网络协议,否则就看不懂wireshark了。
为了安全考虑,wireshark只能查看封包,而不能修改封包的内容,或者发送封包。
首先下载安装winpcap http://www.winpcap.org/install/default.htm
wireshark https://www.wireshark.org/download.html
现在有一个Npcap,是winpcap的发展版参见freebuf上的介绍,但是实际安装使用时,只能抓取发包,没有回包,所以还是使用winpcap,测试环境,win10-x64
安装准备好后,就可以开始抓包了
选择一个适配器进行抓包,还有流量波线图可以查看那个是当前网卡
选择后就开始抓包了
213秒里抓到了27055个数据包
可以在过滤器里过滤出指定协议
ip.addr==IP地址
常见的比较操作符
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
contains :包含
matches :匹配
and,or,not :&& || ! 逻辑语,逻辑或,逻辑非
例如:ip.addr==192.168.1.1;ip.dst==192.168.1.106;
ip.addr == 192.168.1.106 and not tcp.port in {80 25}地址是192.168.1.106并且tcp端口不是80、25的
ip.ttl==64 ttl值为64的,这都是发包的,或者内网的数据包
dns or http or tcp 多个协议过滤
http.server matches "Microsoft-IIS/6.0" 过滤特定内容,过滤http包server是Microsoft-IIS/6.0的
下面是dns
是本机的发包,由192.168.1.106发往dns服务器101.226.4.6的dns查询包,查询qurl.f.360.cn的ip地址
下图为dns服务器的回包
下图为arp协议,tplink路由器192.168.1.1的arp广播询问谁是192.168.1.109,只有ip为192.168.1.109的回复,其他主机收到直接丢弃
封包详细信息 (Packet Details Pane)
用来查看协议中的每一个字段。
各行信息分别为
Frame: 物理层的数据帧概况
Ethernet II: 数据链路层以太网帧头部信息
Internet Protocol Version 4: 网络层IP包头部信息
Transmission Control Protocol: 传输层的数据段头部信息,此处是TCP
Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议