Linux网络抓包工具tcpdump

Linux网络抓包工具tcpdump

安装tcpdump  apt-get install tcpdump or yum -y install tcpdump

Linux网络抓包
调试网络程序时,通常需要抓包分析。Linux下的tcpdump就很好。
Ubuntu下默认已经安装。下面先举个实际的例子.
比如我有一个C++程序监听本地端口8889, 另一个newlisp程序通过TCP和其通信。
首先可以检查一下有几个网络接口。
[plain]
root@dean-GA-MA790XT-UD4P:~# tcpdump -D
1.eth0
2.any (Pseudo-device that captures on all interfaces)
3.lo
由于是本机运行,都是通过lo接口,因此后面参数用-i 3.
-i 3 代表监控的是网络接口lo。 现在启动tcpdump
[plain]
tcpdump -i 3 tcp port 8889 -v -XX
-XX表示用16进制和ASCII文本显示网络包的数据。
[plain]
21:19:40.151304 IP (tos 0x0, ttl 64, id 37956, offset 0, flags [DF], proto TCP (6), length 56)
localhost.8889 > localhost.55131: Flags [P.], cksum 0xfe2c (incorrect -> 0x8dc0), seq 41:45, ack 117, win 342, options [nop,nop,TS val 728981 ecr 723761], length 4
0x0000:  0000 0000 0000 0000 0000 0000 0800 4500  ..............E.
0x0010:  0038 9444 4000 4006 a879 7f00 0001 7f00  .8.D@.@..y......
0x0020:  0001 22b9 d75b 5a53 9f4c d8c4 bded 8018  .."..[ZS.L......
0x0030:  0156 fe2c 0000 0101 080a 000b 1f95 000b  .V.,............
0x0040:  0b31 0100 3355
首先显示了时间,然后可以看到数据传输方向,从C++->newlisp程序。还可以看到应用层传输的字节数目是4.
最后可以看到0100 3355 就是发出来的4个字节。
其他很多字节应该是TCP协议自身需要的数据。

tcpdump -n -c 3 -i ETHERNET port portnumber 提取tcp握手包

本文固定链接: https://blog.mallon.cn/index.php/752/ | mallon的博客,老马的博客

该日志由 信息管理员 于2017年08月14日发表在 Linux技术 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Linux网络抓包工具tcpdump | mallon的博客,老马的博客
关键字:

目前共有 2 条留言 【 访客:1 条, 博主:1 条 】双方以 1:1 暂时持平 O(∩_∩)O~

  1. 沙发
    爱哭的蚂蚁:

    感谢作者无私的分享,良心网站,点赞!!

    2017-10-09 09:21
    • 信息管理员:

      感谢评论

      2017-10-09 09:22

发表评论

= 10 + 6 (防止机器人评论

快捷键:Ctrl+Enter