tcpdump抓包 tcp 简单介绍

 

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表示连接重置。

161346_Ae7a_2399303.png

上图是抓取了 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进制数据是包内容(包括消息头)

转载于:https://my.oschina.net/u/2399303/blog/1593732

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值