tcpdump抓包ftp协议_tcpdump抓包使用方法详解

tcpdump抓包分析详解

[root@linux ~]#tcpdump [-nn] [-i 接口] [-w 储存档名] [-c 次数]

[-Ae][-qX] [-r 档案] [所欲撷取的数据内容]

参数:

-nn:直接以 IP 及 port number 显示,而非主机名与服务名称

-i :后面接要『监听』的网络接口,例如 eth0, lo, ppp0 等等的界面;

-w :如果你要将监听所得的封包数据储存下来,用这个参数就对了!后面接档名

-c :监听的封包数,如果没有这个参数, tcpdump 会持续不断的监听,

直到使用者输入[ctrl]-c 为止。

-A :封包的内容以 ASCII 显示,通常用来捉取WWW 的网页封包资料。

-e :使用资料连接层 (OSI 第二层) 的 MAC 封包数据来显示;

-q :仅列出较为简短的封包信息,每一行的内容比较精简

-X :可以列出十六进制 (hex) 以及 ASCII 的封包内容,对于监听封包内容很有用

-r :从后面接的档案将封包数据读出来。那个『档案』是已经存在的档案,

并且这个『档案』是由-w 所制作出来的。

所欲撷取的数据内容:我们可以专门针对某些通讯协议或者是 IP 来源进行封包撷取,

那就可以简化输出的结果,并取得最有用的信息。常见的表示方法有:

'host foo', 'host 127.0.0.1'

:针对单部主机来进行封包撷取

'net 192.168' :针对某个网域来进行封包的撷取;

'src host 127.0.0.1' 'dst net

192.168':同时加上来源(src)或目标(dst)限制

'tcp port 21':还可以针对通讯协议侦测,如 tcp, udp,

arp, ether 等

还可以利用 and 与 or 来进行封包数据的整合显示呢!

范例一:以 IP 与 portnumber 捉下 eth0 这个网络卡上的封包,持续3 秒

[root@linux ~]#tcpdump -i eth0 -nn

tcpdump: verboseoutput suppressed, use -v or -vv for full

protocol decode

listening on eth0,link-type EN10MB (Ethernet), capture size 96

bytes

01:33:40.41 IP192.168.1.100.22 > 192.168.1.11.1190: P

116:232(116) ack 1 win 9648

01:33:40.41 IP192.168.1.100.22 > 192.168.1.11.1190: P

232:364(132) ack 1 win 9648

<==按下 [ctrl]-c 之后结束

6680

packetscaptured

<==捉下来的封包数量

14250 packetsreceived by filter

<==由过滤所得的总封包数量

7512 packetsdropped by kernel

<==被核心所丢弃的封包

如果你是第一次看 tcpdump 的 man page 时,肯定一个头两个大,因为 tcpdump

几乎都是分析封包的表头数据,用户如果没有简易的网络封包基础,要看懂粉难吶! 所以,至少您得要回到网络基础里面去将 TCP

封包的表头数据理解理解才好啊! ^_^!至于那个范例一所产生的输出范例中,我们可以约略区分为数个字段,

我们以范例一当中那个特殊字体行来说明一下:

01:33:40.41:这个是此封包被撷取的时间,『时:分:秒』的单位;

IP:透过的通讯协议是 IP ;

192.168.1.100.22> :传送端是 192.168.1.100 这个 IP,而传送的 port number

为 22,您必须要了解的是,那个大于 (>) 的符号指的是封包的传输方向喔!

192.168.1.11.1190:接收端的 IP 是 192.168.1.11, 且该主机开启 port 1190

来接收;

P 116:232(116):这个封包带有 PUSH 的数据传输标志, 且传输的数据为整体数据的 116~232

byte,所以这个封包带有116 bytes 的数据量;

ack 1 win 96

你可能感兴趣的:(tcpdump抓包ftp协议)