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、wireshark、tshark的简单介绍
- tcpdump抓包二进制tcp协议详细分析
- TCP同步与异步及阻塞模式,多线程+阻塞模式,非阻塞模式简单介绍
- java关于Tcp网络通讯简单介绍
- TCP同步与异步及阻塞模式,多线程+阻塞模式,非阻塞模式简单介绍
- tcpdump的简单选项介绍
- iOS开发之TCP/UDP/Socket简单介绍
- TCP同步与异步及阻塞模式,多线程+阻塞模式,非阻塞模式简单介绍
- 常见通信协议HTTP、TCP、UDP的简单介绍
- 利用tcpdump抓包工具监控TCP连接的三次握手和断开连接的四次挥手
- Linux运维常用网络抓包工具tcpdump的介绍和使用
- 【网络】常见通信协议HTTP、TCP、UDP的简单介绍
- TCP/IP(一):TCP/IP协议简单介绍
- Java TCP 抓包简单示例
- 抓包工具tcpdump的简单使用
- wireshark怎么抓包、wireshark抓包详细图文教程,简单介绍(及wireshark与wireshark legacy差别 )
- 用tcpdump来抓包和分析IP/TCP的结构
- TCP同步与异步及阻塞模式,多线程+阻塞模式,非阻塞模式简单介绍
- tcpdump抓包,然后使用tcpreplay进行回放,出现了一些问题,目前找不到答案,暂时先记录在这里
- 抓包神器 tcpdump 使用介绍