tcpdump简介

tcpdump

简介

  • 不通平台的 tcpdump 支持的参数是不一样的

  • 比如 windows 下的 tcpdump 就不支持 -i 参数

  • 有些嵌入式设备,只支持 -i -w 参数等

  • 一般只用tcpdump进行过滤抓包,然后使用 wireshark 进行解析

  • 表达式单元之间可以使用操作符进行连接

    • 否定操作 (!not)
    • 与操作(&&and)
    • 或操作(||or)
  • 使用括号"()"可以改变表达式的优先级,但需要注意的是括号会被shell解释,所以应该使用反斜线""转义为"()",在需要的时候,还需要包围在引号中。

  • tcpdump [options] [not] proto dir type

    • options: -i -s -w ...
    • proto: tcp/udp/arp/ip/ether/icmp
    • type: host/net/port/portrange

参数options

  • -s
    • 设置tcpdump的数据包抓取长度为len,如果不设置默认将会是65535字节。
    • 对于要抓取的数据包较大时,长度设置不够可能会产生包截断,若出现包截断,输出行中会出现"[|proto]"的标志(proto实际会显示为协议名)。
    • 抓取len越长,包的处理时间越长,并且会减少tcpdump可缓存的数据包的数量,从而会导致数据包的丢失,所以在能抓取我们想要的包的前提下,抓取长度越小越好。
  • -i
    • 指定网卡名称,如果不指定网卡名称,则默认使用第一个网卡
    • 可以通过命令 ifconfig 查看
    • 也可以通过命令 tcpdump -D 查看
    • 可以使用 any 关键字表示所有网络接口。
  • src:源ip,默认是 src or dst
  • dst:目的ip,默认是 src or dst
  • port:端口号, 多个端口号用空格隔开
  • host 指定主机 hostname/ip
  • -w:写数据到指定目录,可以配合 -G -C 参数使用
    • -G:指定保存文件的时间,单位为秒, 设置后会自动切换文件
    • -C:指定保存文件的大小, 设置后会自动切换文件
      • -W
        此选项与-C 选项配合使用, 这将限制可打开的文件数目, 并且当文件数据超过这里设置的限制时, 依次循环替代之前的文件, 这相当于一个拥有filecount 个文件的文件缓冲池
  • -c
    • 指定要抓取的包数量。注意,是最终要获取这么多个包。
    • 例如,指定"-c 10"将获取10个包,但可能已经处理了100个包,只不过只有10个包是满足条件的包。

举例

tcpdump -i any -w test.cap 抓取所有网卡的数据包到 test.cap 文件
tcpdump -s 0 host 10.1.2.190 抓取指定主机的数据包
tcpdump -i eth0 src 10.1.10.185 抓取指定网卡和源ip的数据包
tcpdump -i eth0 dst 10.1.10.158 and tcp and port ! 22 抓取指定网卡和目的ip的tcp数据包, 排除端口为22的数据包
tcpdump -i eth0 host 10.1.10.158 抓取指定网卡和ip的数据包
tcpdump -i eth0 dst 10.1.10.158 and udp 抓取指定网卡和目的ip的udp数据包
tcpdump -i eth0 tcp and port 554 22 抓取指定网卡和端口的tcp数据包
tcpdump -i eth0 -w 1.cap 抓取指定网卡的数据包并写入到文件
tcpdump -i lo -s 0 抓取本地回环数据包,不限制包长度
tcpdump host foo and not port ftp and not port ftp-data,这表示筛选的数据包要满足"主机为foo且端口不是ftp(端口21)和ftp-data(端口20)的包
tcpdump -c 10 net 192.168 抓取网络为192.168的数据包,并只抓取10个
tcpdump -c 5 -nn -i eth0 icmp 抓取5个ICMP数据包,并显示端口号

参考文章

有任何问题,请联系:knowledgebao@163.com

相关推荐
郝学胜-神的一滴8 小时前
深入解析Python字典的继承关系:从abc模块看设计之美
网络·数据结构·python·程序人生
绵绵细雨中的乡音9 小时前
深入理解 ET 与 LT 模式及其在 Reactor 模型中的应用
服务器·网络·php
暖馒10 小时前
Modbus应用层协议的深度剖析
网络·网络协议·c#·wpf·智能硬件
可可南木11 小时前
3070文件格式--15--bootptab文件
功能测试·测试工具·pcb工艺
yunfuuwqi11 小时前
OpenClaw✅真·喂饭级教程:2026年OpenClaw(原Moltbot)一键部署+接入飞书最佳实践
运维·服务器·网络·人工智能·飞书·京东云
迎仔11 小时前
C-算力中心网络隔离实施方法:怎么搞?
运维·网络
代码游侠12 小时前
C语言核心概念复习——网络协议与TCP/IP
linux·运维·服务器·网络·算法
枷锁—sha12 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
Zach_yuan13 小时前
深入浅出 JSONCpp
linux·服务器·网络·c++
迎仔14 小时前
B-算力中心网络隔离的必要性:为什么必须隔离?
网络