linux下抓包号召--tcpdump的利用.
(2011-07-24 02:13:00)
标签:
杂谈
例:tcpdump host 172.16.29.40 and port 4600 -X -s 500
tcpdump批准号召行措施,它的号召款式为:
tcpdump [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]
[ -i 网络接口 ] [ -r 文件名] [ -s snaplen ]
[ -T 种类 ] [ -w 文件名 ] [表白式 ]
1. tcpdump的选项推荐
-a 将网络地址和广播地址改换成名字;
-d 将相称消息包的代码以人们能够会意的汇编款式给出;
-dd 将相称消息包的代码以c语言过程段的款式给出;
-ddd 将相称消息包的代码以十进制的形式给出;
-e 在输出行打印出数据链路层的头部消息;
-f 将表面的Internet地址以数字的形式打印出来;
-l 使规范输出变为缓冲行形式;
-n 不把网络地址转换成名字;
-t 在输出的每一行不打印工夫戳;
-v 输出一个轻微翔实的消息,例如在ip包中能够包括ttl和服务种类的消息;
-vv 输出翔实的报文消息;
-c 在收到指定的包的数目后,tcpdump就会静止;
-F 从指定的文件中读取表白式,疏忽其它的表白式;
-i 指定监听的网络接口;
-r 从指定的文件中读取包(这些包等闲穿越-w选项发生);
-w 直接将包写入文件中,并不分析和打印出来;
-T 将监听到的包直接解释为指定的种类的报文,常见的种类有rpc (长途过程
调用)和snmp(容易 网络管教协议;)
2. tcpdump的表白式推荐
表白式是一个正则表白式,tcpdump利用它作为过滤报文的条件,万一一个报文中意表
达式的条件,则这个报文将会被捉拿。万一未曾给出任何条件,则网络上所有的消息包将会
被截获。
在表白式中等闲如下几种种类的关键字,一种是关于种类的关键字,重要包括host,
net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0
指明
202.0.0.0是一个网络地址,port 23 指明端口号是23。万一未曾指定种类,缺省的种类是
host.
第二种是确定传输方向的关键字,重要包括src , dst ,dst or src, dst and src ,
这些关键字指明了传输的方向。示例解释,src 210.27.48.2 ,指明ip包中源地址是210.27.
48.2 , dst net 202.0.0.0 指明目标网络地址是202.0.0.0 。万一未曾指明方向关键字,则
缺省是src or dst关键字。
第三种是协议的关键字,重要包括fddi,ip ,arp,rarp,tcp,udp等种类。Fddi指明是在
FDDI(散布式光纤数据接口网络)上的特定的网络协议,切实上它是"ether"的别名,fddi和e
ther具有相仿的源地址和目标地址,因而能够将fddi协议包当作ether的包举行处理和分析。
其他的几个关键字即便指明了监听的包的协议内容。万一未曾指定任何协议,则tcpdump将会
监听所有协议的消息包。
除非这三种种类的关键字之外,其他重要的关键字如下:gateway, broadcast,less,
greater,还有三种逻辑计算,取非计算是 'not ' '! ',
与计算是'and','&&';或计算 是'o
r' ,'||';
这些关键字能够组合起来构成壮大的组合条件来中意人们的必需,下面举几个例子来
解释。
(1)想要截获所有210.27.48.1 的主机收到的和公布的所有的数据包:
#tcpdump host 210.27.48.1
(2) 想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,利用号召
:(在号召行中实用 括号时,定然要
#tcpdump host 210.27.48.1 and / (210.27.48.2 or 210.27.48.3
/)
(3) 万一想要获得主机210.27.48.1除非和主机210.27.48.2之外所有主机通信的ip包
,利用号召:
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2
(4)万一想要获得主机210.27.48.1接收或公布的telnet包,利用如下号召:
#tcpdump tcp port 23 host 210.27.48.1
3. tcpdump 的输出收获推荐
下?**颐峭萍黾钢直瓯膖cpdump号召的输出消息
(1) 数据链路层头消息
利用号召#tcpdump --e host ice
ice 是一台装有linux的主机,她的MAC地址是0:90:27:58:AF:1A
H219是一台装有SOLARIC的SUN工作站,它的MAC地址是8:0:20:79:5B:46;上一条
号召的输出收获如下所示:
21:50:12.847509 eth0 < 8:0:20:79:5b:46
0:90:27:58:af:1a ip 60: h219.33357 > ice.
telne
t 0:0(0) ack 22535 win 8760 (DF)
分析:21:50:12是揭示的工夫, 847509是ID号,eth0
接受该
数据包,eth0 >表示从网络接口装备发送数据包,
8:0:20:79:5b:46是主机H219的MAC地址,它
阐明是从源地址H219发来的数据包. 0:90:27:58:af:1a是主机ICE的MAC地址,表示该数据包的
目标地址是ICE . ip 是阐明该数据包是IP数据包,60 是数据包的长度, h219.33357 >
ice.
telnet 阐明该数据包是从主机H219的33357端口发往主机ICE的TELNET(23)端口. ack 22535
阐明对序列号是222535的包举行响应. win 8760阐明发送窗口的大小是8760www.g1sport.info.
(2) ARP包的TCPDUMP输出消息
利用号召#tcpdump arp
获得的输出收获是:
22:32:42.802509 eth0 > arp who-has route tell ice
(0:90:27:58:af:1a)
22:32:42.802902 eth0 < arp reply route is-at
0:90:27:12:10:66 (0:90:27:58:af
:1a)
分析: 22:32:42是工夫戳, 802509是ID号, eth0 >阐明从主机公布该数据包,
arp阐明是
ARP哀求包, who-has route tell ice阐明是主机ICE哀求主机ROUTE的MAC地址。
0:90:27:5
8:af:1a是主机ICE的MAC地址。
(3) TCP包的输出消息
用TCPDUMP捉拿的TCP包的等闲输出消息是:
src > dst: flags data-seqno ack window urgent
options
src > dst:阐明从源地址到目标地址, flags是TCP包中的符号消息,S 是SYN符号,
F (F
IN), P (PUSH) , R (RST)
"www.theji9.info." (未曾符号);
data-seqno是数据包中的数据的次序号, ack是
下次渴望的次序号, window是接收缓存的窗口大小, urgent阐明数据包中是否有紧迫指针.
Options是选项.
(4) UDP包的输出消息
用TCPDUMP捉拿的UDP包的等闲输出消息是:
route.port1 > ice.port2: udp lenth
UDP极其容易,上面的输出行阐明从主机ROUTE的port1端口公布的一个UDP数据包到主机
ICE的port2端口,种类是UDP, 包的长度是lenth
(http://om)
代码审查是灭亡Bug最重要的措施之一,这些审查在大多数时候都尤其见效。
分享:
喜欢
0
赠金笔
加载中,请稍候......
评论加载中,请稍候...
发评论
登录名: 密码: 找回密码 注册记住登录状态
昵 称:
评论并转载此博文
发评论
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。