Linux查看网卡数据包工具tcpdump详解及实例

Linux网卡数据包查看工具tcpdump输出的是网络接口上信息包的包头数据,可以自定义表达式用于匹配所需要的数据。它使用了独立于系统的libpcap接口,而libpcap是linux的网络数据包捕获函数包,大多数网络监控软件都以它为基础。

如果系统提示无此命令,请安装tcpdump工具:

参数说明

参数 说明
-a 将网络地址和广播地址转换成名字
-A 以ASCII格式打印出所有分组,并将链路层头最小化,以便捕获web页面内容
-b 在数据链路层上选择协议,包括:ip、arp、rarp、ipx
-B <size> 设置系统捕获缓冲区大小
-c <n> 收到n个分组后停止
-C <size> 配合-w参数,用于指定写入文件的文件大小
-d 将匹配信息包的代码用汇编格式显示
-dd 将匹配信息包的代码用C语言程序段格式显示
-ddd 将匹配信息包的代码用十进制格式显示
-D 列出系统中所有可以用以tcpdump截包的网络接口
-e 在输出行打印数据链路层的头部信息
-f 将外部internet地址以数字形式打印显示
-F 从指定文件中读取表达式,忽略命令行中的表达式
-G <time> 指定进行后面的参数的操作的间隔时间(秒)
-i <device> 指定抓取数据包的接口
-K 跳过TCP校验和验证
-l 使标准输出变成缓冲行形式,可以把数据导出到文件
-L 列出网络接口的已知数据链路
-m <module> 从文件 module 导入 SMI MIB 模块定义
-M <secret> 指定TCP-MD5选项的验证码
-n 不把网络地址换成名字
-nn 直接以ip和端口显示
-N 输出主机名中的域名部分
-O 不允许分组匹配代码优化程序
-p 不将网络接口设置为混杂模式
-Q <direct> 选择捕获的数据包的方向,并非所有平台可用,值为:in或out或inout
-q 只输出较少的信息
-r <file> 从指定文件读取数据包,一般只能是通过-w生成的
-S 用绝对而非相对数值列出TCP关联数
-s <n> 从每个分组中读取前n个字节,默认68,-s 0表示不限
-t 在每一行转储行上省略时间戳显示
-tt 在每一行中输出非格式化的时间戳
-ttt 在每一行输出本行和前面一行之间的时间差
-tttt 在每一行中输出由date处理的默认格式的时间戳
-ttttt 以微秒形式打印时间戳
-T 将监听到的包直接解析为指定的类型的报文,常见类型:rpc、cnfp、snmp
-u 输出未解码的NFS句柄
-v | -vv | -vvv 输出的信息详细度递增
-w 将结果输出到文件中,输出的文件以.pcap作为后缀,可以在其他平台上用wireshark打开
-W <n> 限制文件数量不超过n个
-X | -XX 以十六进制与ASCII输出,抓取http等明文传输协议

案例分享

原创文章禁止转载:技术学堂 » Linux查看网卡数据包工具tcpdump详解及实例

精彩评论

4+9=

感谢您的支持与鼓励

支付宝扫一扫打赏

微信扫一扫打赏