对应的Solaris平台下抓包方法
#snoop -x 0 udp to 192.168.23.1
#snoop -x 0 tcp from 192.168.23.10
#snoop -x 0 -t a -d eri udp port 1645
按照时间来抓包:
#snoop -x 0 -t a -d hme1 from 192.168.1.28
#snoop -x 0 udp to 192.168.23.1
#snoop -x 0 tcp from 192.168.23.10
#snoop -x 0 -t a -d eri udp port 1645
按照时间来抓包:
#snoop -x 0 -t a -d hme1 from 192.168.1.28
抓指定地址和端口的包并保存到当前的log2文件中:
#snoop -x from 192.168.23.1 tcp 80 >> log2.log
抓包还可以放在后台来让其自动运行,防止关闭窗口时就没有了:
#snoop -x from 192.168.23.1 tcp 80 >> log2.log
抓包还可以放在后台来让其自动运行,防止关闭窗口时就没有了:
#csh /先进入csh环境下/
#nohup snoop -x 0 -t a -d hme1 from 192.168.1.28 >>snoop.log & /&表示在后台运行/
#nohup snoop -x 0 -t a -d hme1 from 192.168.1.28 >>snoop.log & /&表示在后台运行/
snoop 抓包
[color=Red]solaris自带snoop抓包工具,抓所有数据流[/color]
# snoop
Using device /dev/pcn0 (promiscuous mode)
192.168.23.1 -> 192.168.255.255 [color=Red]NBT [/color]NS Query Request for WORKGROUP[1c], Success
192.168.253.35 -> solaris [color=Red]TELNET [/color]C port=1246
solaris -> 192.168.253.35 TELNET R port=1246 Using device /dev/pc
solaris -> 192.168.253.35 TELNET R port=1246 Using device /dev/pc
192.168.4.150 -> (broadcast) [color=Red]ARP [/color]C Who is 192.168.4.200, 192.168.4.200 ?
192.168.4.200 -> (broadcast) ARP C Who is 192.168.4.150, 192.168.4.150 ?
#
Using device /dev/pcn0 (promiscuous mode)
192.168.23.1 -> 192.168.255.255 [color=Red]NBT [/color]NS Query Request for WORKGROUP[1c], Success
192.168.253.35 -> solaris [color=Red]TELNET [/color]C port=1246
solaris -> 192.168.253.35 TELNET R port=1246 Using device /dev/pc
solaris -> 192.168.253.35 TELNET R port=1246 Using device /dev/pc
192.168.4.150 -> (broadcast) [color=Red]ARP [/color]C Who is 192.168.4.200, 192.168.4.200 ?
192.168.4.200 -> (broadcast) ARP C Who is 192.168.4.150, 192.168.4.150 ?
#
[color=Red]抓源地址或目的为 202.101.98.55的数据流:[/color]
# snoop 202.101.98.55
Using device /dev/pcn0 (promiscuous mode)
192.168.253.35 -> dns.fz.fj.cn DNS C www.163.com. Internet Addr ?
dns.fz.fj.cn -> 192.168.253.35 DNS R www.163.com. Internet CNAME
Using device /dev/pcn0 (promiscuous mode)
192.168.253.35 -> dns.fz.fj.cn DNS C www.163.com. Internet Addr ?
dns.fz.fj.cn -> 192.168.253.35 DNS R www.163.com. Internet CNAME
#
说明:internet cname 后的为解析
www.163.com的名字时,代表
www.163.com回答的主机的域名。
[color=Red]抓 192.168.253.35和202.101.98.55之间的数据流(双向都抓)[/color]
# snoop 192.168.253.35 202.101.98.55
Using device /dev/pcn0 (promiscuous mode)
192.168.253.35 -> dns.fz.fj.cn DNS C www.google.com. Internet Addr ?
dns.fz.fj.cn -> 192.168.253.35 DNS R www.google.com. Internet CNAME
#
Using device /dev/pcn0 (promiscuous mode)
192.168.253.35 -> dns.fz.fj.cn DNS C www.google.com. Internet Addr ?
dns.fz.fj.cn -> 192.168.253.35 DNS R www.google.com. Internet CNAME
#
[color=Red]抓完存在当前目录下的cap文件中并查看[/color]
# snoop -o cap1 -P -P表示处在非混杂模式抓数据,只抓广播、主播、目的为本机的数据
Using device /dev/pcn0 ([color=Blue]non promiscuous[/color])
15 ^C 15的含义是:显示目前抓了多少个数据流
#
Using device /dev/pcn0 ([color=Blue]non promiscuous[/color])
15 ^C 15的含义是:显示目前抓了多少个数据流
#
# snoop -i cap1
1 0.00000 192.168.253.35 -> solaris TELNET C port=1246
2 0.18198 192.168.253.35 -> solaris TELNET C port=1246
3 0.37232 192.168.4.199 -> 192.168.255.255 NBT Datagram Service Type=17 Source=WB-200[20]
4 0.00016 ? -> (multicast) ETHER Type=EF08 (Unknown), size = 180bytes
5 0.62546 192.168.253.35 -> solaris TELNET C port=1246
6 0.13822 ? -> (multicast) ETHER Type=0000 (LLC/802.3), size = 52 bytes
7 0.06283 192.168.253.35 -> solaris TELNET C port=1246
8 0.90301 192.168.253.35 -> solaris TELNET C port=1246
9 0.19781 192.168.253.35 -> solaris TELNET C port=1246
10 0.81493 ? -> (multicast) ETHER Type=0000 (LLC/802.3), size = 52 bytes
11 0.07018 192.168.253.35 -> solaris TELNET C port=1246
12 0.19939 192.168.253.35 -> solaris TELNET C port=1246
13 0.90151 192.168.253.35 -> solaris TELNET C port=1246
14 0.18904 192.168.253.35 -> solaris TELNET C port=1246
15 0.68422 ? -> (multicast) ETHER Type=0000 (LLC/802.3), size = 52 bytes
#snoop -i cap1 -p 10,12 只看10-12条记录
1 0.00000 192.168.253.35 -> solaris TELNET C port=1246
2 0.18198 192.168.253.35 -> solaris TELNET C port=1246
3 0.37232 192.168.4.199 -> 192.168.255.255 NBT Datagram Service Type=17 Source=WB-200[20]
4 0.00016 ? -> (multicast) ETHER Type=EF08 (Unknown), size = 180bytes
5 0.62546 192.168.253.35 -> solaris TELNET C port=1246
6 0.13822 ? -> (multicast) ETHER Type=0000 (LLC/802.3), size = 52 bytes
7 0.06283 192.168.253.35 -> solaris TELNET C port=1246
8 0.90301 192.168.253.35 -> solaris TELNET C port=1246
9 0.19781 192.168.253.35 -> solaris TELNET C port=1246
10 0.81493 ? -> (multicast) ETHER Type=0000 (LLC/802.3), size = 52 bytes
11 0.07018 192.168.253.35 -> solaris TELNET C port=1246
12 0.19939 192.168.253.35 -> solaris TELNET C port=1246
13 0.90151 192.168.253.35 -> solaris TELNET C port=1246
14 0.18904 192.168.253.35 -> solaris TELNET C port=1246
15 0.68422 ? -> (multicast) ETHER Type=0000 (LLC/802.3), size = 52 bytes
#snoop -i cap1 -p 10,12 只看10-12条记录
#snoop -i cap1 -p10 只看第10条记录
# snoop -i cap1 -v -p101 查看第10条数据流的包头的详细内容
#snoop -i cap1 -v -x 0 -p101 查看第10条数据流的全部的详细内容
[color=Red]抓主机192.168.253.35和202.101.98.55之间的tcp或者udp端口53的数据
# snoop 192.168.253.35 and 202.101.98.55 and \(tcp or udp\) and port 53
snoop的详细参数
Snoop 是Solaris 系统中自带的工具, 是一个用于显示网络通讯的程序, 它可捕获IP 包并将其显示或保存到指定文件. (限超级用户使用snoop)
Snoop 可将捕获的包以一行的形式加以总结或用多行加以详细的描述(有调用不同的参数–v -V来实现). 在总结方式下(-V ) , 将仅显示最高层的相关协议, 例如一个NFS 包将仅显示NFS 信息, 其低层的RPC, UDP, IP, Ethernet 帧信息将不会显示, 但是当加上相应的参数(-v ), 这些信息都能被显示出来.
Snoop 可将捕获的包以一行的形式加以总结或用多行加以详细的描述(有调用不同的参数–v -V来实现). 在总结方式下(-V ) , 将仅显示最高层的相关协议, 例如一个NFS 包将仅显示NFS 信息, 其低层的RPC, UDP, IP, Ethernet 帧信息将不会显示, 但是当加上相应的参数(-v ), 这些信息都能被显示出来.
-C
-D
-N
-P 在非混杂模式下抓包
-S 抓包的时候显示数据包的大小
-V 半详细的显示抓的数据的信息
-t [ r | a | d ] 显示时间戳,-ta显示当前系统时间,精确到毫秒
-v 最详细的显示数据的信息
-x offset [ , length] 以16进制或ACSII方式显示某数据的部分内容,比如 -x 0,10 只显示0-10字节
#snoop -i cap1 -v -x 0 -p101 查看被抓获的第101个数据流的全部内容
[color=Red]表达式:[/color]
根据地址:
#snoop x.x.x.x IPV4的IP
#snoop 0XX:XX:XX:XX ETHERNET的MAC地址
数据的方向:
from x.x.x.x 或者 src x.x.x.x
to x.x.x.x 或者 dst x.x.x.x
可用的数据类型的关键词:
ip, ip6, arp, rarp, pppoed, pppoes,pppoe,broadcast,multicast,apple,decnet
udp, tcp, icmp, icmp6, ah, esp
greater length
True if the packet is longer than length.
True if the packet is longer than length.
less length
True if the packet is shorter than length.
True if the packet is shorter than length.
net net
# snoop from net 192.168.1.0 抓来自192.168.1.0/24的数据
# snoop from net 192.168.0.0 抓来自192.168.0.0/16的数据
port xx XX为TCP或者UDP的端口号或者 /etc/services里定义的名字
#snoop to udp and port 53 抓到UDP53的数据
转载于:https://blog.51cto.com/benxiwst/196797