Linux 环境下的抓包工具

来源:互联网 发布:python ftp 传输模式 编辑:程序博客网 时间:2024/05/23 11:38

Linux 环境下,通常通过 tcpdump 来进行抓包和分析。它是几乎所有 Linux 发行版本预装的数据包抓取和分析工具。

一、tcpdump 的用法

tcpdump [-aAbdDefhHIJKlLnNOpqRStuUvxX] [ -B size ] [ -c count ]    [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ]    [ -i interface ] [ -j tstamptype ] [ -M secret ]    [ -P in|out|inout ]    [ -r file ] [ -s snaplen ] [ -T type ] [ -V file ] [ -w file ]    [ -W filecount ] [ -y datalinktype ] [ -z command ]    [ -Z user ] [ expression ]常见参数说明(区分大小写):    -s  设置数据包抓取长度。如果置为0,则表示自动选择合适的长度来抓取数据包。    -w  将抓包结果导出到文件,而不是在控制台进行分析和打印输出。    -i  指定需要监听的接口(网卡)。    -vvv 输出详细的数据交互信息。    expression 一个正则表达式,用作过滤报文的条件。主要包含如下几类:        关于类型的关键字:包括 host(主机)net(网络)port(端口)。        确定传输方向的关键字:包括 src(源)dst(目标),dst or src(源或目标),dst and src(源和目标)。        使用协议的关键字:包括 icmp,ip,arp,rarp,tcp,udp等类型。

二、常见用法
1、抓取指定网卡指定端口的交互数据

[root@iZbp1bhgh25pacaj2ffmp2Z ~]# tcpdump -s 0 -i eth0 port 22

2、抓取指定网卡发送给指定 IP 上指定端口的交互数据,并在控制台输出详细交互信息

[root@iZbp1bhgh25pacaj2ffmp2Z ~]# tcpdump -s 0 -i eth1 -vvv port 22

3、抓取发送至指定 IP 的 ping 交互数据,并在控制台输出详细交互信息

[root@iZbp1bhgh25pacaj2ffmp2Z ~]# tcpdump -s 0 -i eth1 -vvv dst 114.57.136.45 and icmp

4、抓取系统内所有接口数据并保存到指定文件

[root@iZbp1bhgh25pacaj2ffmp2Z ~]# tcpdump -i any -s 0 -w test.cap

备注:

通过tcpdump抓包获取的数据,可以通过wireshark进行分析,详情请参考 http://blog.csdn.net/m0_37886429/article/details/71123137