Linux抓包工具

Posted 还行少年

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux抓包工具相关的知识,希望对你有一定的参考价值。

字符界面的的抓包工具----tcpdump

常用选项

-c 在收到指定的数量的分组后,tcpdump就会停止。

-C 在将一个原始分组写入文件之前,检查文件当前的大小是否超过了参数file_size 中指定的大小。如果超过了指定大小,则关闭当前文件,然后在打开一个新的文件。参数 file_size 的单位是兆字节(是1,000,000字节,而不是1,048,576字节)。

-D 打印出系统中所有可以用tcpdump截包的网络接口。

-e 在输出行打印出数据链路层的头部信息。

-E 用spi@ipaddr algo:secret解密那些以addr作为地址,并且包含了安全参数索引值spi的IPsec ESP分组。

-f 将外部的Internet地址以数字的形式打印出来。

-F 从指定的文件中读取表达式,忽略命令行中给出的表达式。

-i 指定监听的网络接口。

-l 使标准输出变为缓冲行形式,可以把数据导出到文件。

-L 列出网络接口的已知数据链路。

-m 从文件module中导入SMI MIB模块定义。该参数可以被使用多次,以导入多个MIB模块。

-M 如果tcp报文中存在TCP-MD5选项,则需要用secret作为共享的验证码用于验证TCP-MD5选选项摘要(详情可参考RFC 2385)。

-b 在数据-链路层上选择协议,包括ip、arp、rarp、ipx都是这一层的。

-n 不把网络地址转换成名字。

-nn 不进行端口名称的转换。

-N 不输出主机名中的域名部分。例如,‘nic.ddn.mil‘只输出’nic‘。

-t 在输出的每一行不打印时间戳。

-O 不运行分组分组匹配(packet-matching)代码优化程序。

-P 不将网络接口设置成混杂模式。

-q 快速输出。只输出较少的协议信息。

-r 从指定的文件中读取包(这些包一般通过-w选项产生)。

-S 将tcp的序列号以绝对值形式输出,而不是相对值。

-s 从每个分组中读取最开始的snaplen个字节,而不是默认的68个字节。

-T 将监听到的包直接解释为指定的类型的报文,常见的类型有rpc远程过程调用)和snmp(简单网络管理协议;)。

-u 输出未解码的NFS句柄。

-v 输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息。

-vv 输出详细的报文信息。

-w 直接将分组写入文件中,而不是不分析并打印出来。

常用选项组合

[root@localhost ~]# tcpdump -D  //查看可抓包的网络接口
1.virbr0
2.bluetooth0 (Bluetooth adapter number 0)
3.nflog (Linux netfilter log (NFLOG) interface)
4.nfqueue (Linux netfilter queue (NFQUEUE) interface)
5.usbmon1 (USB bus number 1)
6.usbmon2 (USB bus number 2)
7.ens33
8.any (Pseudo-device that captures on all interfaces)
9.lo [Loopback]
[root@localhost ~]# 

[root@localhost ~]# tcpdump -vv -i ens33 -s 0 -w 1.pcap  //抓取经过ens33不限制字节大小的详细信息并保存到1.pcap
tcpdump: listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
^C144 packets captured
147 packets received by filter
0 packets dropped by kernel
[root@localhost ~]# 

[root@localhost ~]# tcpdump -i any host 192.168.213.1  //抓取来自主机192.168.213.1的报文
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 262144 bytes
^C
0 packets captured
0 packets received by filter
0 packets dropped by kernel
[root@localhost ~]# 

图形界面的抓包工具----wireshark

[root@localhost ~]# yum -y install wireshark* //下载wireshark及图形化界面


在这里插入图片描述
界面和用法和windows一样,就不详细介绍了
在这里插入图片描述

以上是关于Linux抓包工具的主要内容,如果未能解决你的问题,请参考以下文章

linux如何抓包读域名

几款抓包工具在windows,mac,linux下的支持分析

tcpdump-抓包工具-Linux

windows和linux下的抓包工具

Linux抓包工具

tcpdump抓包分析详解