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

相关推荐
慧慧吖@9 分钟前
sse,短轮询,长轮询,webSocket
网络·websocket·网络协议
在路上看风景29 分钟前
5.2 自治系统内部的路由选择
网络
莫小墨1 小时前
基于TCP/IP和UDP组播的Qt网络直播间项目
网络·qt·tcp/ip·udp
Code Warrior2 小时前
【Linux】Socket 编程预备知识
linux·网络·c++
jenchoi4132 小时前
【2025-11-12】软件供应链安全日报:最新漏洞预警与投毒预警情报汇总
网络·安全·web安全·网络安全·npm
安冬的码畜日常3 小时前
【JUnit实战3_33】第二十章:用 JUnit 5 进行测试驱动开发(TDD)(下)——TDD 项目的重构过程及新功能的开发实战
测试工具·junit·单元测试·测试驱动开发·tdd·junit5·test-driven
xxtzaaa3 小时前
游戏被IP限制多开,如何在同一网络下用不同IP多开游戏?
网络·tcp/ip·游戏
DY009J3 小时前
如何在Ubuntu虚拟机中设置Samba共享,并在Windows宿主机中挂载为网络驱动器
网络·windows·ubuntu
Empty_7774 小时前
Ansible之Playbook简单应用
网络·ansible