linux学习笔记——tcpdump

linux学习笔记——tcpdump

前言:

因工作需要, 使用了tcpdump,  现进行总结。 执行环境:ubuntu 10.04

正文:

          1.  选项:

         tcpdump是一种嗅探器(sniffer),利用以太网的特性,通过将网卡适配器(NIC)置于混杂模式(promiscuous)来获取传输在网络中的信息包。
使用tcpdump, root.
# tcpdump -i eth0 -n -X ‘port 53′ -c 1

 -i选项:

     interface,告诉tcpdump去监听哪一个网卡。

-n选项:

     当遇到协议号或端口号时,不要将这些号码转换成对应的协议名称或端口名称。

-X选项:

     告诉tcpdump命令,需要把协议头和包内容都原原本本的显示出来(tcpdump会以16进制和ASCII的形式显示),这在进行协议分析时是绝对的利器。

'port 53':

     指定端口号

 -c选项:

    Count, 设置抓包个数

-e选项

    增加以太网帧头部信息输出

    (OUI,即Organizationally unique identifier,是“组织唯一标识符”,在任何一块网卡(NIC)中烧录的6字节MAC地址中,前3个字节体现了OUI,其表明了NIC的制造组织。通常情况下,该标识符是唯一的。

-l选项

     使得输出变为行缓冲

     (Linux/UNIX的标准I/O提供了全缓冲、行缓冲和无缓冲三种缓冲方式。标准错误是不带缓冲的,终端设备常为行缓冲,而其他情况默认都是全缓冲的。)

# tcpdump -i eth0 -l |awk \'{print $1}\'

        -t选项

             输出时不打印时间戳

        -v选项

             输出更详细的信息

        -F选项

             指定过滤表达式所在的文件

        -w选项

             将流量保存到文件中

        -r选项

             读取raw packets文件

2. 过滤表达式:

# man pcap-filter

tcpdump过滤表达式大致分为:类型, 方向和协议三种类型


指定网络协议

# tcpdump -i eth0 -c 10  'udp'

可以把udp改为ip、ip6、arp、tcp、rarp等。tcpdump支持应用层以下的协议。

指定源机器(src)和目的机器(dst),支持and 和or,  默认:src or dst 

# tcpdump -i eth0 'dst 8.8.8.8'

指定目标机器的端口:

# tcpdump -i eth0 -c 3 'dst port 53 or dst port 80'

指定过滤类型, 默认是host

    1. port: 指定端口

    2. host: 指定主机名或ip地址

    3. net:  指定网络段

    4. portrange: 指定端口区域

     以下例子引用自[6]

          【例子1】- 我想抓到那些通过eth0网卡的,且来源是roclinux.cn服务器或者目标是roclinux.cn服务器的网络包

                    tcpdump -i eth0 'host roclinux.cn'

    【例子2】- 我想抓通过eth0网卡的,且roclinux.cn和baidu.com之间通讯的网络包,或者,roclinux.cn和qiyi.com之间通讯的网络包

tcpdump -i eth0 'host roclinux.cn and (baidu.com or qiyi.com)'

    【例子3】- 我想获取使用ftp端口和ftp数据端口的网络包

tcpdump 'port ftp or ftp-data'

【例子4】- 我想获取roclinux.cn和baidu.com之间建立TCP三次握手中第一个网络包,即带有SYN标记位的网络包,另外,目的主机不能是qiyi.com

tcpdump 'tcp[tcpflags] & tcp-syn != 0 and not dst host qiyi.com'

   

【例子5】- 打印IP包长超过576字节的网络包

tcpdump 'ip[2:2] > 576'

【例子6】- 打印广播包或多播包,同时数据链路层不是通过以太网媒介进行的。

tcpdump 'ether[0] & 1 = 0 and ip[16] >= 224'

进一步阅读:


参考资料:

[1]神探tcpdump第一招
[2]神探tcpdump第二招
[3]神探tcpdump第三招
[4]神探tcpdump第四招
[5]神探tcpdump第五招
[6]神探tcpdump第六招


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值