您的位置:首页 > 产品设计 > UI/UE

packet captuer tool: snoop

2014-02-21 15:48 330 查看
caputer package tools:

Solaris    -- snoop

Linux        -- tcpdump

Windows -- sniffor

AIX            -- iptrace
HP-UX     -- nettl

关于tshark的抓包命令,我有另一篇博客来单独介绍了:http://blog.csdn.net/tlaff/article/details/19619911

关于tcpdump的抓包命令,我也有另一篇博客来单独介绍:http://blog.csdn.net/tlaff/article/details/19624171

现在介绍一下snoop的常用选项:

snoop命令举例:snoop -d e1000g1 -o gtpc.pcap dst port 12341

Snoop 是Solaris 系统中自带的工具, 是一个用于显示网络通讯的程序, 它可捕获IP 包并将其显示或保存到指定文件. (限超级用户使用snoop)Snoop 可将捕获的包以一行的形式加以总结或用多行加以详细的描述(有调用不同的参数-v -V来实现). 在总结方式下(-V ) , 将仅显示最高层的相关协议, 例如一个NFS 包将仅显示NFS 信息, 其低层的RPC, UDP, IP, Ethernet 帧信息将不会显示, 但是当加上相应的参数(-v ), 这些信息都能被显示出来.

参数简介:

-P 不使用混杂模式,只能获取广播包和到本地主机的数据包

-c [maxCount] 记录最大包数,超过则自动停止

-d [dev] 接受包的设备名(网络接口)

-i [filename] 从文件输入(从一个以前的记录文件而不是网络设备中输入)

-p first[,last] 当从文件输入时,只显示从first指定到last的包

-o [filename] 保存所有数据包输出到文件,格式为RFC 1761-compliant

-q 当记录到文件时,使用安静模式,不回显数据

-N 解析IP地址到主机名(默认使用/etc/hosts作为解析列表)

-r 不解析主机名

-n 指定解析主机名所用的列表文件

-v 冗余模式,显示详细的数据包信息

除了命令选项以外,snoop还允许通过filter expression过滤模式来对数据包进行析取,以进行更精确的数据抓取和分析。snoop中expr的格式与Tcpdump基本兼容。

地址

host [hostname] 指定主机名,snoop将只获取此主机(源和目标)的数据包

from 或 src 指定源地址,后面必须跟host或ipaddr指令,将只获取以此地址为源的数据

to 或 dst 指定目标地址,后面必须跟host或ipaddr指令,将只获取以此地址为目的的数据

ipaddr 指定IP地址,功能同host

atalkaddr 指定appletalk地址,适用于appletalk协议

etheraddr 指定以太网MAC地址,适用于Ethernet协议

net [net] 指定网络地址,将抓取指定目标网络的数据

port [port] 指定TCP|UDP端口号,将只抓取指定端口的数据,适用于TCP|UDP协议

也可以根据/etc/services文件中指定的协议名字使用字符串

gateway [hostname|IP] 指定网关地址,将只抓取发送到指定网关的数据协议

inet 指定抓取IPV4协议

inet6 指定抓取IPV6协议

ethertype 抓取指定的Ethernet协议

ip, ip6, arp, rarp, pppoed, pppoes

udp, tcp, icmp, icmp6, ah, esp

分别指定以上类型的协议

pppoe PPPOE协议

broadcast 广播协议

multicast 多播协议

bootp, dhcp bootp和dhcp协议

apple applenet协议

decnet decnet协议

rpc prog [ , vers [ , proc ] ] 对应类型的RPC协议数据

ldap ldap协议

slp slp协议

sctp sctp协议

ospf ospf协议

类型

nofrag 不抓取分片数据包

此外,ether,ip,udp等协议关键字,都可以通过指定对应标志位的方式进行更详细的控制,例如使用ip[0]指定某一个位的标志。

操作符

在snoop过滤表达式中同样可以使用逻辑表达式来进行控制,对应的功能则与c,perl等语言中的类似。

and 与

or 或 , 或

not or ! 非

例如:

ipaddr 10.1.1.1 and port 23 抓取10.0.0.1:23的数据

host a or host b 抓取主机a和b的数据

not ipaddr 192.168.0.2 不抓取192.168.0.2的数据

指定 网络接口:/dev/pcn0 , 目标主机: Katty, 目标端口: TCP 23

这将只抓取到Katty的Telnet登录请求,以及所执行的命令。

Chaosreader是一个Snoop数据输出的分析工具,完全Perl写成,因此可以运行在所有支持Perl的操作系统上。Chaosreader能够支持对TCP/UDP/HTTP/FTP...等等一系列协议的跟踪和Session解析,甚至能够解析出ftp和http传输的文件,跟踪X-window的动作,对Telnet的数据进行回放等等。有了Chaosreader,就相当于在Snoop之上加了一双明亮的眼睛,非常方便。

Chaosreader支持有Tcpdump、snoop和Ethereal输出的数据包记录文件,自动解析之后会生成一系列文件,包含HTML格式的数据输出文件,协议传输中的图形附件,以及一些用于进行协议回放的perl脚本。

要使用Chaosreader,有下面几种快捷方法:

tcpdump -w outfile

snoop -o outfile

ethereal (或tethereal)保存cap数据

之后,适用chaosreader.pl outfile对文件进行分析处理,完成后即可在当前目录下生成一系列输出文件,可以使用任何一个Web浏览器打开index.html进行查看。

如果直接执行 chaosreader -s 5; netscape index.html ,那么chaosreader将自动运行当前系统中可用的sniffer类程序(自动搜索snoop或tcpdump),然后生成分析文件。

-s参数指定一定时间的抓取时间,以分钟为单位。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息