linux--tcpdump

来源:互联网 发布:淘宝货源 方法步骤 编辑:程序博客网 时间:2024/05/22 12:33
​ tcpdump可以将网络中传送的数据包完全截获下来供我们分析,它支持网络层、协议、主机、网络或端口号的过滤,并提供了and、or、not等逻辑语句来让我们更进一步筛选我们需要的数据。

基本参数:

(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
(2)-i eth1 : 只抓经过接口eth1的包
(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取100个数据包
(6)dst port ! 22 : 不抓取目标端口是22的数据包
(7)src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24
(8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

默认情况下,直接使用tcpdump将默认监视第一个网络接口上传输的网络数据包.
监视指定网络接口上传输的数据包
    tcpdump -i eth1
上条指令将监视第二个以太网接口上传输的数据包,第一个是eth0.
如果在测试自己编写的网络相关的代码时,需要截取本地的环回数据,则需要指定为监视环回数据,因为环回数据不经过以太网接口,

指令如下:

保存  tcpdump -i lo udp  and  port 5140 -w 1.cap

tcpdump -i lo udp  and  port 5140
监视指定主机上传输的数据包
    tcpdump host 192.168.12.34 and \ (192.168.34.56\ )
监视IP为192.168.12.34和IP为192.168.34.56的主机上传输的数据包,这是使用and之后获取更准确更多数据的方法.
也可以通过使用not or等逻辑词对截获条件进行更准确的限定.
监视指定主机和端口上传输的数据包
    tcpdump host 192.168.12.34 and port 8080
也可以在端口号前指定相关协议,更准确地抓取数据包.
监视指定网络的数据包
    tcpdump net 192.168.12.34
截获所有网络地址为192.168.12.34的网络数据包.

监视指定主机和端口的数据包

如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令

tcpdump tcp port 8060 -w 1.cap

tcpdump tcp port 23 and host 210.27.48.1

对本机的udp 123 端口进行监视 123 ntp的服务端口

tcpdump udp port 123 

问题:

The capture file appears to have been cut short in the middle of a packet - how to prevent this error?

用ctrl+c结束。


0 0
原创粉丝点击