tcpdump使用例子

% sudo tcpdump -i any -nn -S 'tcp port 3000'                                                                                                                  !10089
tcpdump: data link type PKTAP
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type PKTAP (Apple DLT_PKTAP), capture size 262144 bytes

client請求創建鏈接,三次握手

17:56:04.224218 IP 127.0.0.1.57729 > 127.0.0.1.3000: Flags [SYN], seq 860356044, win 65535, options [mss 16344,nop,wscale 6,nop,nop,TS val 1113971093 ecr 0,sackOK,eol], length 0
17:56:04.224298 IP 127.0.0.1.3000 > 127.0.0.1.57729: Flags [SYN.ACK], seq 4012548670, ack 860356045, win 65535, options [mss 16344,nop,wscale 6,nop,nop,TS val 1113971093 ecr 1113971093,sackOK,eol], length 0
17:56:04.224305 IP 127.0.0.1.57729 > 127.0.0.1.3000: Flags [ACK], ack 4012548671, win 6379, options [nop,nop,TS val 1113971093 ecr 1113971093], length 0算法

client推送信息給server

17:56:04.224357 IP 127.0.0.1.57729 > 127.0.0.1.3000: Flags [PUSH.ACK], seq 860356045:860356055, ack 4012548671, win 6379, options [nop,nop,TS val 1113971093 ecr 1113971093], length 10tcp

server給響應

17:56:04.224363 IP 127.0.0.1.3000 > 127.0.0.1.57729: Flags [ACK], ack 860356055, win 6379, options [nop,nop,TS val 1113971093 ecr 1113971093], length 0code

server推client推送信息

17:56:04.224484 IP 127.0.0.1.3000 > 127.0.0.1.57729: Flags [PUSH.ACK], seq 4012548671:4012548681, ack 860356055, win 6379, options [nop,nop,TS val 1113971093 ecr 1113971093], length 10server

client給server響應

17:56:04.224491 IP 127.0.0.1.57729 > 127.0.0.1.3000: Flags [ACK], ack 4012548681, win 6379, options [nop,nop,TS val 1113971093 ecr 1113971093], length 0ip

四次揮手

17:56:04.224653 IP 127.0.0.1.57729 > 127.0.0.1.3000: Flags [F.], seq 860356055, ack 4012548681, win 6379, options [nop,nop,TS val 1113971093 ecr 1113971093], length 0
17:56:04.224684 IP 127.0.0.1.3000 > 127.0.0.1.57729: Flags [F.], seq 4012548681, ack 860356056, win 6379, options [nop,nop,TS val 1113971093 ecr 1113971093], length 0
17:56:04.224653 IP 127.0.0.1.57729 > 127.0.0.1.3000: Flags [.], seq 860356056, ack 4012548682, win 6379, options [nop,nop,TS val 1113971093 ecr 1113971093], length 0io


Flags []裏面包含的是TCP FLAG,包含以下內容:cli

[S] 表明SYN,請求創建鏈接
[.] 表明ACK,這是響應報文
[P] 表明PUSH,這是推送信息
[F] 表明FIN,這是請求斷開鏈接

wscale:窗口放大因子:4,結合win:65535,可知接收端緩衝區大小爲:64k*4=256kB。經過改變win可通知對方接受緩衝區大小從而告知對方發送的快慢
ack:響應
TS val/erc:被用於評估 TCP 往返時間( round-trip time,RTT),TCP 利用 RTT 去使用 擁塞控制( congestion-control ) 算法。
TS val 1433256622:客戶端請求時間
ecr:是echo reply時間戳, 一般是指發送端收到的最新的時間戳
mss:最大報文段大小( Maximum Segment Size ),表示接收端指望接收的單個報文段最大的字節數
nop:
sackOK:選擇性確認( Selective Acknowledgement )。這將容許兩端確認收到字節的範圍。一般確認機制僅容許接收端確認收到的總字節數sed

相關文章
相關標籤/搜索