预备知识
TCP/IP
TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层通信协议。在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接:
【第一次握手】:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;
SYN:同步序列编号(Synchronize Sequence Numbers)。
【第二次握手】:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),
即SYN+ACK包,此时服务器进入SYN_RECV状态;
【第三次握手】:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,
客户端和服务器进入ESTABLISHED状态,完成三次握手。
Wireshark
网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。
【Wireshark】(前称Ethereal)是非常流行的网络封包分析软件,功能十分强大。
可以截取各种网络封包,显示网络封包的详细信息。
Wireshark是开源软件,可以运行在Windows和Mac OS上。
官方下载网站: link
初步认识Wireshark
1、安装Wireshark
安装Wireshark的过程一直默认下一步即可,安装完成后运行Wireshark如下:
2、选择抓包的网卡
Wireshark是捕获主机上某一块网卡的网络包,当主机器上有多块网卡时,需要选择一个网卡。
点击Caputre->Interfaces.. 出现下面对话框,选择正确的网卡。然后点击"Start"按钮, 开始抓包。
3、Wireshark窗口介绍
WireShark 主要分为这几个界面:
1)【Display Filter】(显示过滤器),用于显示过滤;
2)【Packet List Pane】(封包列表),显示捕获到的封包,有源地址和目标地址,端口号。颜色不同,代表包类型不同;
3)【Packet Details Pane】(封包详细信息),显示封包中的字段;
4)【Dissector Pane】(16进制数据);
5)【Miscellanous】(地址栏,杂项)。
4、Wireshark 显示过滤器
使用【过滤】是非常重要的,初学者使用 wireshark 时,将会得到大量的 冗余信息,在几千甚至几万条记录中,很难找到自己需要的部分,搞得 晕头转向。
过滤器会帮助我们在大量的数据中迅速找到我们需要的信息。过滤器有两种:
一种是显示过滤器,就是主界面上那个,用来在捕获的记录中找到所需要的记录
一种是捕获过滤器,用来过滤捕获的封包,以免捕获太多的记录。
在Capture -> Capture Filters 中设置。
Filter表达式规则
可以使用多个表达式,表达式之间的逻辑运算符为 AND/ OR。
常用的【过滤表达式】
相关过滤命令:
Wireshark基于端口和IP的过滤
wireshark 筛选命令
5、Filter配置
点击Filter,就会弹出如下窗口,这里面默认就有一些常用规则了。可以添加,也可以修改。
我们只要arp数据包,那就只要在filter处输入arp,按回车即可。此时显示的全是ARP数据包。见下图: