Linux及AIX下的抓包工具及使用注意事项

最近工作遇到非Web、CS端的系统,无从下手,后查阅资料使用后在此记录:

Linux(RedHat,Centos)

一般系统自带tcpdump ,若未安装使用 yum install tcpdump 进行安装。

常用用法如下:

tcpdump -i lo 

抓取本地数据

tcpdump -i eth1 host  192.168.0.1
抓取指定经过eth0网卡,IP为192.168.0.1的数据 

过滤端口: 
tcpdump -i eth0 src port 80
抓取所有经过网卡0,源端口为80的网络数据 

过滤端口: 
tcpdump -i eth0 dst port 80
抓取所有经过网卡0,目的端口为80的网络数据 

过滤特定协议: 
tcpdump -i eth0 tcp
抓取所有经过网卡0,协议类型为tcp的网络数据 

抓包存取: 
tcpdump -i eth0 host 192.168.0.1 and port 80 -w  test.pcap
抓取所有经过网卡0,目的主机为192.168.0.1的且端口80的数据并保存为wireshark可识别的数据包格式

具体参数说明

  • -a 尝试将网络和广播地址转换成名称。
  • -c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。
  • -d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
  • -dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
  • -ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
  • -e 在每列倾倒资料上显示连接层级的文件头。
  • -f 用数字显示网际网络地址。
  • -F<表达文件> 指定内含表达方式的文件。
  •  -i<网络界面> 使用指定的网络截面送出数据包。
  • -l 使用标准输出列的缓冲区。
  • -n 不把主机的网络地址转换成名字。
  • -N 不列出域名。
  • -O 不将数据包编码最佳化。
  • -p 不让网络界面进入混杂模式。
  • -q 快速输出,仅列出少数的传输协议信息。
  • -r<数据包文件> 从指定的文件读取数据包数据。
  • -s<数据包大小> 设置每个数据包的大小。
  • -S 用绝对而非相对数值列出TCP关联数。
  • -t 在每列倾倒资料上不显示时间戳记。
  • -tt 在每列倾倒资料上显示未经格式化的时间戳记。
  • -T<数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型。
  • -v 详细显示指令执行过程。
  • -vv 更详细显示指令执行过程。
  • -x 用十六进制字码列出数据包资料。
  • -w<数据包文件> 把数据包数据写入指定的文件。

 

AIX 

AIX也可以使用tcpdump来进行抓包使用,使用方法如上所述,但有些老旧版本的AIX不能使用,故使用iptrace,用法个别不同。

iptrace:

iptrace 抓包:

格式:

iptrace [ -a ] [ -b ][ -e ] [ -u ] [ -PProtocol_list ] [ -iInterface ] [ -pPort_list ] [ -sHost [ -b ] ] [ -dHost ] [ -L Log_size ] LogFile

实例:

iptrace -i en0   test.cap

抓取指定经过eth0网卡,保存在test.cap中,与tcpdump不同的是不用-w存储

iptrace -a -b -d 10.1.1.1 -p 23  test.cap

抓取目的ip为10.1.1.1,端口为23的数据包 

结束抓包:
ps -ef | grep iptrace

查询进程


kill -9 iptrace进程ID 

结束进程

详细参数:

-a

抑制 ARP 包。

-b

把标志 -d 或 -s 变换成双向方式。

-d Host

记录以由 Host 变量指定的目的地主机指定为报头的信息包。Host 变量 能够作为一个主机名或由点隔开的十进制格式因特网地址。

如果使用 -b 标志,-d 标志 记录由 Host 变量指定的主机进出的信息包。

-e

启用支持混合模式的网络适配器的混合模式功能。

-i Interface

记录在由 Interface 变量指定的接口上接收的信息包。

-L Log_size

此选择会导致 iptrace 记录日志数据 ,这样 LogFile 在开始时及每当接近 Log_size 字节大小时,就复制到 LogFile.old。

-P Protocol_list

记录使用由 Protocol_list 变量指定的协议的信息包,此变量是一个由逗号分隔的协议列表。 此协议可以是来自 /etc/protocols 文件中的十进制数字或名称。

-p Port_list

记录使用由 Port_list 变量指定的端口号的信息包,此变量是一个逗号分隔的端口列表。 Port_list 变量可以是 /etc/services 文件中的一个十进制数或名字。

-s Host

记录来自由 Host 变量指定的源主机的信息包。Host 变量 可以是一个主机名字或一个由点隔开的十进制格式的因特网地址。

如果使用标志 -b,-s 标志记录进出由 Host 变量指定的主机的信息包。

-u

卸装在启动时由 iptrace 守护进程装入的内核扩展。

 

 

             注意事项: (1)抓包完成时一定要kill掉iptrace的进程,使用ctrl+c,否则会一直抓包,占用硬盘资源。

                                (2)使用 iptrace后,有时需要发出 iptrace -u 以便卸装 bpf 内核扩展名(重启也可),由于 iptrace 使用的内核扩展名有可能忙于处理包。

                                (3) 尽量使用root权限。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值