snoop 抓包 分析端口接收信息

本文介绍 Solaris 系统自带的 snoop 抓包工具的使用方法及参数详解,包括如何抓取特定 IP 或端口的数据流、如何保存及查看抓包结果等。适用于网络管理员和技术人员进行网络故障排查。
snoop 抓包 
[color=Red]solaris自带snoop抓包工具,抓所有数据流[/color] 

# snoop 
Using device /dev/pcn0 (promiscuous mode) 
192.168.8.18 -> 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 www.cache.split.netease.com. 



说明: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 www.l.google.com. 


[color=Red]抓完存在当前目录下的cap文件中并查看[/color] 

# snoop -o cap1 -P      -P表示处在非混杂模式抓数据,只抓广播、主播、目的为本机的数据 
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条记录 

#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的数据[/color] 

# snoop 192.168.253.35 and 202.101.98.55 and \(tcp or udp\) and port 53 

[color=Blue]输入(的时候要加转义符号\[/color] 


[color=Red]snoop的详细参数[/color] 
Snoop 是Solaris 系统中自带的工具, 是一个用于显示网络通讯的程序, 它可捕获IP 包并将其显示或保存到指定文件. (限超级用户使用snoop) 
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. 

less 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的数据 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17074730/viewspace-555631/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/17074730/viewspace-555631/

### Linux 系统中通过网关进行抓包的命令 在Linux系统中,使用网关进行数据包捕获通常依赖于一些专门设计的工具和命令。以下是几种常见的方法及其对应的命令: #### 1. 使用 `tcpdump` 进行抓包 `tcpdump` 是一种强大的网络数据分析工具,能够实时捕获并显示经过指定网络接口的数据包内容[^2]。其基本语法如下所示: ```bash tcpdump -i any port <目标端口> ``` 此命令会监听所有网络接口 (`any`) 上针对 `<目标端口>` 的流量。如果希望保存捕获的结果而不是直接输出到终端,则可以加上 `-w 文件名.pcap` 参数。 更复杂的过滤条件也可以被构建出来,例如只记录来自某个IP地址范围内的HTTPS请求: ```bash tcpdump -i eth0 'src net 192.168.1.0/24 and dst port 443' ``` #### 2. 结合 `netstat` 查看活动连接状态 虽然严格意义上讲 `netstat` 并不是一个真正的“抓包”工具,但它可以帮助我们理解当前系统的网络活动概况,从而更好地定位应该关注哪一部分流量来进行进一步分析[^1]。下面是一些常用形式: - 显示所有的侦听套接字和服务进程ID:`netstat -lnp` - 展示完整的TCP链接详情:`netstat -an | grep ESTABLISHED` #### 3. 应用端口镜像技术增强覆盖范围 对于那些无法直接在其上运行监控软件的核心交换机或者路由器来说,“端口镜像”是一种有效的解决方案。它允许我们将某条链路上发生的全部通讯复制给另一台设备处理。以华为系列为例,配置语句可能看起来像这样[^4]: ```shell [Huawei-GigabitEthernet0/0/1] port-mirroring to observe-port GigabitEthernet0/0/2 both ``` 这里假设 GE0/0/1 是源端口而GE0/0/2 被分配作为观察端口接收反射过来的信息流。 #### 4. 替代方案——采用`snoop`指令 尽管不如前两者普及度高,但在某些特殊场合下(比如Solaris衍生版本),可能会遇到名为`snoop`的应用程序来完成相似的任务[^3]。简单调用即可开始基础级别的探测操作;不过需要注意的是它的参数风格与其他主流产品有所区别,请参照官方文档确认细节后再实际运用。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值