IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

神探tcpdump第六招

linux大棚-roclinux.cn 2012-09-03 23:14:24 累计浏览 5,548 次
本机暂存

    第六招,仍然会讲解tcpdump的过滤表达式,这次思路很简单,就是直接举例子,其实就是man tcpdump中的例子,很直观,很受用。

    ==

    【例子1】- 我想抓到那些通过eth0网卡的,且来源是roclinux.cn服务器或者目标是roclinux.cn服务器的网络包

tcpdump -i eth0 'host roclinux.cn'

    【例子2】- 我想抓通过eth0网卡的,且roclinux.cn和baidu.com之间通讯的网络包,或者,roclinux.cn和qiyi.com之间通讯的网络包

tcpdump -i eth0 'host roclinux.cn and (baidu.com or qiyi.com)'

    【例子3】- 我想获取使用ftp端口和ftp数据端口的网络包

tcpdump 'port ftp or ftp-data'

    大家是不是会有一个疑问“这个ftp、ftp-data到底对应哪个端口?除了ftp/ftp-data,还有哪些服务名称我可以直接用呢?”

    嗯,这是个好问题,答案现在揭晓咯。

    在Linux系统中,/etc/services这个文件里面,就存储着所有知名服务和传输层端口的对应关系。这个对应关系是由IANA组织(the Internet Assigned Numbers Authority,互联网数字分配机构)来全权负责的,你可以到这个链接http://www.iana.org/assignments/port-numbers通过Web方式查到。

    如果你直接把/etc/services里的ftp对应的端口值从21改为了8888,那么tcpdump就会去抓端口含有8888的网络包了。

    【例子4】- 我想获取roclinux.cn和baidu.com之间建立TCP三次握手中第一个网络包,即带有SYN标记位的网络包,另外,目的主机不能是qiyi.com

tcpdump 'tcp[tcpflags] & tcp-syn != 0 and not dst host qiyi.com'

    这个语句看着比较复杂,其实如果要把这段解释清楚的确不容易,需要你具备计算机网络专业知识才行。这个我会安排一招来讲。

    【例子5】- 打印IP包长超过576字节的网络包

tcpdump 'ip[2:2] > 576'

    【例子6】- 打印广播包或多播包,同时数据链路层不是通过以太网媒介进行的。

tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'

    最后三个例子,或许你看得有些晕头转向,没关系,先有个感官认识,看完接下来的几篇文章后,相信保证你就明白了:)

    谢谢!

同分类推荐文章

  1. 绿盟科技《APT组织研究年鉴》(2026 版)正式发布 (2026-06-16 20:21:10)
  2. 【已复现】Linux内核Fragnesia权限提升漏洞(CVE-2026-46300) (2026-06-15 10:53:58)
  3. 企业文档安全最佳实践(二):给文档上“身份证”——手动标密与智能自动标密 (2026-06-12 17:18:33)

查看更多 安全 文章 →

建议继续学习

  1. 网络数据包调试利器之wireshark (累计阅读 19,813)
  2. 神探tcpdump第一招 (累计阅读 9,653)
  3. 使用wireshark分析网络报文 (累计阅读 7,904)
  4. 记一次丢包网络故障 (累计阅读 6,559)
  5. 实时监控Android设备网络封包 (累计阅读 6,557)
  6. 神探tcpdump第二招 (累计阅读 5,873)
  7. 神探tcpdump第四招 (累计阅读 5,212)
  8. 神探tcpdump第三招 (累计阅读 4,857)
  9. 神探tcpdump第五招 (累计阅读 4,772)
  10. 通过ssldump来分析ssl协议过程 (累计阅读 4,026)