Wireshark

1、Wireshark下载官网链接(https://www.wireshark.org/download.html

2、抓包过滤语法和实例

tcp   ##只显示TCP协议的数据包列表,注意大小写   
http
icmp

ip.addr == 10.118.10.1  ##显示源地址或者目的地址为10.118.10.1的数据包列表
ip.src == 10.118.10.1    ##显示源地址为10.118.10.1的数据包列表
ip.dst == 10.118.10.1    ##显示目的地址为10.118.10.1的数据包列表
tcp.port == 80           ##显示源主机或者目的主机端口为80的数据包列表
tcp.srcport == 80        ##显示源主机端口为80的数据包列表
tcp.dstport == 80        ##显示目的主机端口为80的数据包列表
http.request.method== "GET"    ##只显示HTTP GET方式的

过滤多个条件组合时,使用and/or。 比如获取IP地址为192.168.1.3的http数据包的表达式为:
ip.addr == 192.168.1.3 and http
ip.addr == 192.0.2.1 and tcp.port not in {80, 25}

eth.src == 04:f9:38:ad:13:26     ##筛选源mac地址为04:f9:38:ad:13:26的数据包

ip contains "192.168.1.1"        ##筛选192.168.1.0网段的数据

tcp.port == 12345 &&tcp.port == 80    ##筛选12345端口和80端口之间的数据包
tcp.srcport == 12345 &&tcp.dstport == 80  ##筛选从12345端口到80端口的数据包

应用层:
特别说明: http中http.request表示请求头中的第一行(如GET index.jsp HTTP/1.1) http.response表示响应头中的第一行(如HTTP/1.1 200 OK),其他头部都用http.header_name形式。

http.request.uri contains ".php"      ##筛选url中包含.php的http数据包
http contains "username"             ##筛选内容包含username的http数据包

TCP三次握手:

Step1:客户端发送一个SYN=1,ACK=0标志的数据包给服务端,请求进行连接,这是第一次握手;

Step2:服务端收到请求并且允许连接的话,就会发送一个SYN=1,ACK=1标志的数据包给发送端,告诉它,可以通讯了,并且让客户端发送一个确认数据包,这是第二次握手;

Step3:服务端发送一个SYN=0,ACK=1的数据包给客户端端,告诉它连接已被确认,这就是第三次握手。TCP连接建立,开始通讯。

第一次握手数据包
客户端发送一个TCP,标志位为SYN,序列号为0, 代表客户端请求建立连接。
 

图片

数据包的关键属性如下:
SYN :标志位,表示请求建立连接
Seq = 0 :初始建立连接值为0,数据包的相对序列号从0开始,表示当前还没有发送数据
Ack =0:初始建立连接值为0,已经收到包的数量,表示当前没有接收到数据

第二次握手的数据包
服务器发回确认包, 标志位为 SYN,ACK。将确认序号(Acknowledgement Number)字段+1,即0+1=1。

图片

数据包的关键属性如下:
[SYN + ACK]: 标志位,同意建立连接,并回送SYN+ACK
Seq = 0 :初始建立值为0,表示当前还没有发送数据
Ack = 1:表示当前端成功接收的数据位数,虽然客户端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位。(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)

第三次握手的数据包
客户端再次发送确认包(ACK) SYN标志位为0,ACK标志位为1。并且把服务器发来ACK的序号字段+1,放在确定字段中发送给对方,并且在Flag段写ACK的+1:

图片

数据包的关键属性如下:
ACK :标志位,表示已经收到记录
Seq = 1 :表示当前已经发送1个数据
Ack = 1 : 表示当前端成功接收的数据位数,虽然服务端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)。
就这样通过了TCP三次握手,建立了连接。开始进行数据交互

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值