作为一款高效免费的抓包工具,wireshark可以捕获并描述网络数据包,其最大的优势就是免费、开源以及多平台支持,在GNU通用公共许可证的保障范围下,用户可以免费获取软件和代码,并拥有对其源码修改和定制的权利,如今其已是全球最广泛的网络数据包分析软件之一。
开源软件请去它的官网下载
wireshark
下载完成后一路next,如果win10系统选择抓包但不显示网卡,需要下载win10pcap兼容性安装包
2. 选择菜单栏上捕获——>选项,,取消混杂模式,勾选WLAN,开始(你也可以直接双击上图的WLAN开始)
3. 此时wireshark已经开始工作,查看抓包
4. 打开cmd窗口,执行ping http://jinhuaixin.cn
5. 工作中的wireshark将抓取到相关数据包,在过滤栏设置过滤条件以避免其他无用数据包影响分析,比如:ip.addr == 185.199.111.153 and icmp表示只显示ICPM协议且源主机IP或者目的主机IP为185.199.111.153的数据包。说明:协议名称icmp要小写
各行信息分别为 *Frame: 物理层的数据帧概况 *Ethernet II: 数据链路层以太网帧头部信息 *Internet Protocol Version 4: 互联网层IP包头部信息 *Transmission Control Protocol: 传输层T的数据段头部信息,此处是TCP * Hypertext Transfer Protocol: 应用层的信息,此处是HTTP协议
从下图可以看到wireshark捕获到的TCP包中的每个字段。
抓包过滤器类型Type(host、net、port)、方向Dir(src、dst)、协议Proto(ether、ip、tcp、udp、http、icmp、ftp等)、逻辑运算符(&& 与、|| 或、!非)
比较简单,直接在抓包过滤框中直接输入协议名即可。 tcp,只显示TCP协议的数据包列表 http,只查看HTTP协议的数据包列表 icmp,只显示ICMP协议的数据包列表
host 192.168.1.104 src host 192.168.1.104 dst host 192.168.1.104
port 80 src port 80 dst port 80
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 不抓取广播数据包
比较操作符有== 等于、!= 不等于、> 大于、< 小于、>= 大于等于、<=小于等于。
比较简单,直接在Filter框中直接输入协议名即可。注意:协议名称需要输入小写。 tcp,只显示TCP协议的数据包列表 http,只查看HTTP协议的数据包列表 icmp,只显示ICMP协议的数据包列表
ip.src 192.168.1.104 显示源地址为192.168.1.104的数据包列表 ip.dst192.168.1.104, 显示目标地址为192.168.1.104的数据包列表 ip.addr == 192.168.1.104 显示源IP地址或目标IP地址为192.168.1.104的数据包列表
tcp.port ==80, 显示源主机或者目的主机端口为80的数据包列表。 tcp.srcport == 80, 只显示TCP协议的源主机端口为80的数据包列表。 tcp.dstport == 80,只显示TCP协议的目的主机端口为80的数据包列表。
http.request.method==“GET”, 只显示HTTP GET方法的。
过滤多个条件组合时,使用and/or。比如获取IP地址为192.168.1.104的ICMP数据包表达式为ip.addr == 192.168.1.104 and icmp
假设我要以IMCP层中的内容进行过滤,可以单击选中界面中的码流,在下方进行选中数据。右键–>准备过滤器–>选中–>添加条件表达式,如data contains "uestc"
www.cnblogs.com
可以看到这里截获了三个握手数据包,第四个是HTTP数据包,说明HTTP的确是使用TCP建立连接的。
第一次,客户端发送了一个TCP,标志位为SYN,序列号为0,表示客户端请求建立连接,如下:
关键参数
第二次,服务器发回确认包, 标志位为 SYN,ACK. 将确认序号(Acknowledgement Number)设置为客户的ISN加1以.即0+1=1, 如下图如下:
关键参数
第三次,客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1.并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方.并且在数据段放写ISN的+1,如下图如下:
关键参数
View -->Time Display Format --> Date and Time of Day
https://www.cnblogs.com/linyfeng/p/9496126.html http://www.zhoulujun.cn/html/theory/network/2016_1130_7908.html