网络常用命令(五)tcpdump

一 tcpdump概述:

(1)tcpdump是一种包探测器,tcpdump指令用来监听所有经过本地网络接口的数据包,并记录下或者打印出符合用户指定的某些标准的包。

*例如:可以检查某台特定主机发送或接收的所有包;也可以检查与一条特定网络连接相关的TCP包。

*执行tcpdump需要root权限。

(2)命名格式:

tcpdump [...]...[...] [expression]


二 使用细则:

(1)-i选项和-n选项:

默认情况下,tcpdump监听它遇到的第一个网络接口,可以用-i选项指定网络接口。

如果DNS不能使用,或者不希望tcpdump进行名字查找,请使用-n选项(不把主机的网络地址转换为名字,可以加快tcpdump的速度)。这个选项很重要,因为较慢的DNS服务器会导致过滤器在tcpdump仍可以处理包之前就开始丢包。


(2)-v选项和-vv选项:

-v标志增加可以看到的关于包的信息,-vv标志提供更详细的数据。


(3)-w选项和-r选项:

-w选项使tcpdump可以把包存放在一个文件中。-w默认只保存包头,这种默认做法虽然转存文件变小,但是最有用和最有意义的信息可能就丢了。所以除非只需要包头,否则就要用-s选项加上大约在1560量级的一个值(实际上取决于MTU),捕获整个包供日后分析。

例如:sudo tcpdump -i eth0 -w log -s 1560.

-r选项可以再把转存文件读回来。

例如:sudo tcpdump -r log.


(4)-s选项:Snarf snaplen bytes of data from each packet rather than the default of 65535 bytes.

例如:tcpdum -i lo -s 100//capture size 100 bytes.


*其它选项参见tcpdump手册


三 expression(扮演过滤器的作用):

*tcpdump prints out a description of the contents of packets on a network interface that match the boolean expression。For the expression syntax, see pcap-filter(7).

*例如:sudo tcpdump host james

过滤器限制只显示与机器bull直接相关的包,james不是作为源地址就是作为目的地。

*例如:sudo tcpdump -i eth0 icmp。只显示eth0上的icmp包。









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值