您的位置:首页 > 理论基础 > 计算机网络

tcpdump抓包 tcp 简单介绍

2017-12-22 00:00 399 查看
tcpdump -i any tcp -X  port 9000

-i any # 监听任意接口(网卡)

tcp #监听 tcp 协议

-X #打印包内容(可以列出十六进制 (hex) 以及 ASCII 的封包內容)

port 9000 #监听9000端口

flags:

Flags are some combination of S (SYN), F(FIN), P (PUSH), R (RST), U (URG),

W (ECN CWR), E (ECN-Echo) or `.‘ (ACK), or `none‘ if no flags are set.

[S] SYN表示建立连接,

[F] FIN表示关闭连接,

[.] ACK表示响应或确认,

[P] PSH表示有 DATA数据传输,

[R] RST表示连接重置。



上图是抓取了 nginx 向php-fpm 发起的 fastcgi(基于 tcp)协议请求的三次握手的过程:

1.nginx 向php-fpm 发起了“S”请求

2.php-fpm 向客户端(nginx)确认“.” 并回复“S”

3.nginx 向服务端确认连接 “.” ,至此三次握手已经完成

4.客户端(nginx)开始向服务端发送数据 “P”

08:09:24.563473 时间带有精确到微妙

172.17.0.1.43222 > 868be****.9000 表示通信的流向,43222是客户端,9000是服务器端

[S] 表示这是一个SYN请求

[.] 表示这是一个ACK确认包,(client)SYN->(server)SYN->(client)ACK 就是3次握手过程

[P] 表示这个是一个数据推送,可以是从服务器端向客户端推送,也可以从客户端向服务器端推

[F] 表示这是一个FIN包,是关闭连接操作,client/server都有可能发起

[R] 表示这是一个RST包,与F包作用相同,但RST表示连接关闭时,仍然有数据未被处理。可以理解为是强制切断连接

win 342是指滑动窗口大小

length 0指数据包的大小(不含消息头)

下面的16进制数据是包内容(包括消息头)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  TCPDUMP tcp