Manpage of TCPDUMP

TCPDUMP是一款网络数据包分析工具,用于捕获和分析网络中的数据包。本文档详细介绍了TCPDUMP的语法、参数说明、使用示例及输出格式,帮助用户理解和掌握如何有效地使用TCPDUMP来监控和解析网络流量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


   tcpdump : dump traffic on a network, 用于将网络中传送的数据包完全截获下来提供分析。

1、语法

tcpdump [-adeflnNOpqStvx][-c<数据包数目>]
		[-dd][-ddd][-F<表达文件>][-i<网络界面>]
		[-r<数据包文件>][-s<数据包大小>]
		[-tt][-T<数据包类型>][-vv][-w<数据包文件>]
		[输出数据栏位]

2、参数说明

  • -A 以ASCII 格式输出截获的数据包,分析网页很便利;
  • -a 将网络地址和广播地址转换成名字;
  • -C <file_size> 在将截获的数据包输出到一个指定的文件前,检查给定的文件的大小是否大于file_size,如果大于,则关闭给定的文件,然后打开一个新的文件,新文件的后缀名(_1,_2…),其中 file_size 的大小是 百万的整数倍;
  • -c <count> 接收到 count 个数据包之后退出 tcpdump 命令;
  • -d 将匹配信息包的代码以能理解的汇编格式给出;
  • -dd 将匹配信息包的代码以能理解的 C 语言 格式给出;
  • -ddd 将匹配信息包的代码以能理解的 十进制 格式给出;
  • -D 列出当前主机的所有网卡编号和名称;
  • -e 在输出行打印出数据链路层的头部信息;
  • -f 将外部的 Internet 地址以数字的形式打印出来;
  • -F<file>file 中读取表达式,并屏蔽命令行的表达式;
  • -i <interface> 监听主机的interface 指定网卡上的数据包,如果没有指定,就是用最小网卡编号的网卡;
  • -l 将数据包打印打 标准输出,也可以重定向到指定文件
tcpdump -l | tee dat;
or
tcpdump -l > dat & tail -f dat
  • -n 显示IP ,而不是主机名;
  • -N 不列出域名;
  • # <number> 输出显示行号;
  • -O 输出不用最优化;
  • -p 不让网卡进入混叠模式;
  • -q:快速输出,仅列出少数的传输协议信息;
  • -r :从file文件中读取包(这些包一般通过-w选项产生);
  • -s<数据包大小>:指定抓包显示一行的宽度,-s 0表示可按包长显示完整的包,经常和-A一起用,默认截取长度为60个字节,但一般ethernet MTU都是1500字节。所以,要抓取大于60字节的包时,使用默认参数就会导致包数据丢失;
  • -S:用绝对而非相对数值列出TCP关联数;
  • -t:在输出的每一行不打印时间戳;
  • -tt:在输出的每一行显示未经格式化的时间戳记;
  • -T<数据包类型>:将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议);
  • -v:输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;
  • -vv:输出详细的报文信息;
  • -x/-xx/-X/-XX:以十六进制显示包内容,几个选项只有细微的差别,详见man手册;
  • -w<数据包文件>:直接将包写入文件中,并不分析和打印出来;
    expression:用于筛选的逻辑表达式;

3、样例

  • 输出sundown主机上的所有数据包
tcpdump host sundown
  • 输出主机helios 与 主机hot 之间的通信的数据包
tcpdump host helios and hot
  • 输出除了主机helios 以外的所有与主机 ace 通信的IP数据包
tcpdump ip host ace not helios
  • 输出所有本地主机与Berkeley主机通信的数据包
tcpdump net ucb-ether
  • 输出所有通过网关snupftp 数据包
tcpdump 'gateway snup and (port ftp or ftp-data)'
  • 输出所有 既不是来自也不是发给主机local hosts 的数据包
tcpdump ip and not net localnet
  • 输出非本地主机的所有TCP 连接的具体信息(包括三次握手、四次挥手)
tcpdump 'tcp[tcpflags] & (tcp-syn|tcp_fin) != 0 and not src and dst net localnet'
  • 输出通过网关snup且长度大于 567 字节的IP 数据包
tcpdump  'gateway snup and ip[2:2] > 567'
  • 输出不通过网卡进行的广播或者多播IP数据报
tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'
  • 输出除了回显请求和回显应答以外的所有 ICMP 报文
tcpdump 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply'

4、输出格式

  Tcpdump 输出是独立与协议的。

  • Timestamp,缺省情况下输出格式为 hh:mm:ss.frac,时间精度和内核时钟精度一样,时间戳反映了内核回复一个数据包的时间。
  • Link Level Headers ,如果命令行中包括 -e 选项,则链路层头部被输出,例如:以太网中,输出包括源地址、目的地址、使用的协议、数据包的长度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值