用tcpdump来抓包和分析IP/TCP的结构

         抓包:

xxxxxx$ sudo tcpdump -iany port 5432 -Xnlps0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes
22:11:14.191365 IP 10.100.70.139.30052 > 1.2.3.4.postgres: Flags [S], seq 3929399830, win 14280, options [mss 1428,sackOK,TS val 1171752792 ecr 0,nop,wscale 8], length 0
        0x0000:  4510 003c 654e 4000 4006 8069 0a64 468b  E..
         之前我们说过, tcpdump抓的是网络层数据, 一起来看看。 IP数据头结构, 想必大家已经很熟悉了, 我就不单独画图。

         4表示ipv4,  5表示IP头有5*4字节, 也就是说, IP头侧长度为20字节, 这是个典型的值。 也就是说, 如下部分都是IP头:

4510 003c 654e 4000 4006 8069 0a64 468b
0102 0304

         我们来看上面的IP数据:

         003c的十进制是60, 表明整个IP头+IP身体, 总共有60字节。 IP头的其他信息也类似分析, 不太赘述。


         至于tcp的部分, 对着TCP头结构看吧, 看着看着, 挺有意思的。


         

你可能感兴趣的:(s2:,Linux杂项,s4:,计算机网络)