1.概述
在网络上转储流量,输出与布尔表达式匹配的网络接口上的包内容的描述;描述前面有一个时间戳,默认情况下打印为小时、分钟、秒和午夜之后的几分之一秒。也可以运行-w参数,从而将分组数据保存到文件中供以后分析、和/或-r标记,从而保存数据包文件读取而不是读取数据包从一个网络接口。如果不带-c标志运行,将继续捕获数据包,直到它被SIGINT信号(例如,通过键入中断字符生成,通常为control-C)或SIGTERM信号(通常为kill(1)命令生成)中断;如果带-c标志运行,它将捕获数据包,直到它被SIGINT或SIGTERM信号中断,或者处理了指定数量的数据包。
2.语法
tcpdump [ -AbdDefhHIJKlLnNOpqStuUvxX# ] [ -B buffer_size ]
[ -c count ]
[ -C file_size ] [ -G rotate_seconds ] [ -F file ]
[ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ]
[ --number ] [ -Q in|out|inout ]
[ -r file ] [ -V file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ]
[ -E spi@ipaddr algo:secret,... ]
[ -y datalinktype ] [ -z postrotate-command ] [ -Z user ]
[ --time-stamp-precision=tstamp_precision ]
[ --immediate-mode ] [ --version ]
[ expression ]
3.选项
选项 | 定义 |
---|---|
-A | 以ASCII格式打印每个数据包(减去它的链接级标头)。便于捕获web页面。 |
-c count | 收到count包后退出。 |
-C file_size | 在将原始包写入保存文件之前,检查该文件当前是否大于file_size,如果大于,则关闭当前保存文件并打开新的保存文件。第一个savefile之后的Savefiles将使用-w标志指定名称,后面有一个数字,从1开始向上。file_size的单位是数百万字节(1,000,000字节,而不是1,048,576字节)。 |
-e | 在每个转储行上打印链接级标题。例如,可以使用它打印以太网和IEEE 802.11协议的MAC层地址。 |
-G rotate_seconds | 如果指定,则每隔rotate_seconds秒旋转使用-w选项指定的转储文件。Savefiles的名称由-w指定,它应该包含由strftime(3)定义的时间格式。如果没有指定时间格式,每个新文件将覆盖前一个文件。如果与-C选项一起使用,文件名将采用’ file’的形式。 |
-i interface | 监听接口。如果未指定,tcpdump将在系统接口列表中搜索编号最低、配置最低的up接口(不包括loopback),结果可能是’’ eth0’’。在具有2.2或更高内核的Linux系统上,接口参数“any”可以用于从所有接口捕获数据包。 |
–monitor-mode | 将界面置于“监控模式”;这只在IEEE 802.11 Wi-Fi接口上支持,并且只在某些操作系统上支持。 |
-l | 使标准输出行缓冲。如果您想在捕获数据时查看数据,这很有用。 |
-n | 不转换地址(即主机地址,端口号等)到名称。 |
-q | 快速(安静?)输出。打印更少的协议信息,这样输出行更短。 |
-t/-ttttt | 不要在每个转储行上打印时间戳。 |
-U | 如果没有指定-w选项,则将打印的数据包输出为‘packet-buffered’;即当每个数据包的内容描述被打印出来时,它将被写入标准输出,而不是在不写入终端时,只在输出缓冲区填满时写入。如果指定-w选项,则将保存的原始数据包输出为‘packet-buffered’;即当每个包被保存时,它将被写入输出文件,而不是只在输出缓冲区填满时才写入。 |
-v/-vvv | 甚至更冗长的输出。 |
-w file | 将原始数据包写入文件,而不是解析并打印它们。稍后可以使用-r选项打印它们。标准输出使用如果文件是’’ - "。 |
-x/-xx/-X/-XX | 在解析和打印时,除了打印每个数据包的头之外,还要打印每个数据包的数据(减去它的链接级头),单位为十六进制。整个数据包或snaplen字节中较小的一个将被打印出来。 |
温馨提示:
以上文章描述如有不清晰之处,欢迎在评论区评论,如有时间,会第一时间回复,谢谢!