使用 snoop 命令监视包传送

可以使用 snoop 命令监视数据传送的状态。snoop 捕获网络包并以指定的格式显示其内容。系统收到包或将其保存到文件之后,便会立即显示这些包。当 snoop 向中间文件执行写入操作时,在密切跟踪的情况下不可能丢失包。然后,可以使用 snoop 本身来解释此文件。

要以混杂模式捕获进出缺省接口的包,您必须承担网络管理员角色或成为超级用户。在汇总表单中,snoop 仅显示与最高级协议有关的数据。例如,NFS 包仅显示 NFS 信息,而不会显示底层 RPC、UDP、IP 和以太网帧信息,但是如果选择了两个详细选项之一,则会显示这些信息。

坚持不懈地使用 snoop 可以使您熟悉常规系统行为。有关对包进行分析的帮助,请查找最新的白皮书和 RFC,并搜寻专家针对特定领域(如 NFS 或 NIS)提供的建议。有关使用 snoop 及其选项的详细信息,请参阅 snoop(1M) 手册页。

如何检查来自所有接口的包列显有关连接到系统的接口的信息。# ipadm show-if

snoop 命令通常使用第一个非回送设备,通常为主网络接口。

键入不带参数的 snoop 开始捕获包,如示例 5-15 所示。

使用 Ctrl-C 组合键停止此进程。

示例 5-15 snoop 命令的输出

基本 snoop 命令针对双栈主机返回如下所示的输出。% snoop

Using device /dev/net (promiscuous mode)

router5.local.com -> router5.local.com ARP R 10.0.0.13, router5.local.com is

0:10:7b:31:37:80

router5.local.com -> BROADCAST TFTP Read "network-confg" (octet)

myhost -> DNSserver.local.com DNS C 192.168.10.10.in-addr.arpa. Internet PTR ?

DNSserver.local.com myhost DNS R 192.168.10.10.in-addr.arpa. Internet PTR

niserve2.

.

.

.

fe80::a00:20ff:febb:e09 -> ff02::9 RIPng R (5 destinations)

在此输出中捕获的包显示了远程登录部分,包括查找 NIS 和 DNS 服务器以便进行地址解析。同时还包括来自本地路由器的定期 ARP 包以及向 in.ripngd 发出的 IPv6 链路本地地址的通告。

如何将 snoop 输出捕获到文件将 snoop 会话捕获到文件。# snoop -o filename

例如:# snoop -o /tmp/cap

Using device /dev/eri (promiscuous mode)

30 snoop: 30 packets captured

此示例中,在名为 /tmp/cap 的文件中捕获到了 30 个包。可以将此文件放在任何具有足够磁盘空间的目录中。捕获的包数显示在命令行中,您可以随时按 Ctrl-C 组合键中止捕获。

snoop 将在主机上生成大量网络负载,这会使结果失真。要查看实际结果,请从第三方系统运行 snoop。

检查 snoop 输出捕获文件。# snoop -i filename

示例 5-16 snoop 输出捕获文件的内容

以下内容显示了可能会作为 snoop -i 命令输出接收到的各种捕获。# snoop -i /tmp/cap

1 0.00000 fe80::a00:20ff:fee9:2d27 -> fe80::a00:20ff:fecd:4375

ICMPv6 Neighbor advertisement

...

10 0.91493 10.0.0.40 -> (broadcast) ARP C Who is 10.0.0.40, 10.0.0.40 ?

34 0.43690 nearserver.here.com -> 224.0.1.1 IP D=224.0.1.1 S=10.0.0.40 LEN=28,

ID=47453, TO =0x0, TTL=1

35 0.00034 10.0.0.40 -> 224.0.1.1 IP D=224.0.1.1 S=10.0.0.40 LEN=28, ID=57376,

TOS=0x0, TTL=47

如何检查 IPv4 服务器和客户机之间的包在远离与客户机或服务器相连的集线器的位置建立 snoop 系统。

第三方系统(snoop 系统)将检查所有干预通信,因此 snoop 跟踪会反映网络上实际出现的情况。

键入带有选项的 snoop 并将输出保存到文件。

如何监视 IPv6 网络通信

您可以使用 snoop 命令来仅显示 IPv6 包。捕获 IPv6 包。# snoop ip6

有关 snoop 命令的更多信息,请参见 snoop(1M) 手册页。

示例 5-17 仅显示 IPv6 网络通信

以下示例显示了在节点上运行 snoop ip6 命令时可能显示的典型输出。# snoop ip6

fe80::a00:20ff:fecd:4374 -> ff02::1:ffe9:2d27 ICMPv6 Neighbor solicitation

fe80::a00:20ff:fee9:2d27 -> fe80::a00:20ff:fecd:4375 ICMPv6 Neighbor

solicitation

fe80::a00:20ff:fee9:2d27 -> fe80::a00:20ff:fecd:4375 ICMPv6 Neighbor

solicitation

fe80::a00:20ff:febb:e09 -> ff02::9 RIPng R (11 destinations)

fe80::a00:20ff:fee9:2d27 -> ff02::1:ffcd:4375 ICMPv6 Neighbor solicitation

使用 IP 层设备监视包

Oracle Solaris 中引入了用于增强 IP 观察功能的 IP 层设备。通过这些设备,可以访问具有与系统网络接口关联的地址的所有包。这些地址包括本地地址以及位于非回送接口或逻辑接口上的地址。可观察的通信流量可以是 IPv4 和 IPv6 地址。因此,可以监视以系统为目标的所有通信流量。通信流量可以是回送 IP

通信流量、来自远程计算机的包、要从系统发送的包或转发的所有通信流量。

使用 IP 层设备,全局区域的管理员可以监视区域之间以及区域内的通信流量。非全局区域的管理员也可以观察由该区域发送和接收的通信流量。

要监视 IP 层上的通信流量,请将一个新选项 -I 添加到 snoop 命令。此选项对该命令指定将使用新 IP 层设备,而不是底层链路层设备以显示通信流量数据。

如何检查 IP 层上的包

如有必要,列显有关连接到系统的接口的信息。# ipadm show-if

捕获特定接口上的 IP 通信流量。# snoop -I interface [-V | -v]

检查包的示例

所有示例都基于下列系统配置:# ipadm show-addr

ADDROBJ TYPE STATE ADDR

lo0/v4 static ok 127.0.0.1/8

net0/v4 static ok 192.68.25.5/24

lo0/? static ok 127.0.0.1/8

net0/? static ok 172.0.0.3/24

net0/? static ok 172.0.0.1/24

lo0/? static ok 127.0.0.1/8

假设两个区域 sandbox 和 toybox 使用以下 IP 地址:

sandbox-172.0.0.3

toybox-172.0.0.1

您可以对系统上的不同接口发出 snoop -I 命令。显示的包信息取决于您是全局区域的管理员还是非全局区域的管理员。

示例 5-18 回送接口上的通信流量# snoop -I lo0

Using device ipnet/lo0 (promiscuous mode)

localhost -> localhost ICMP Echo request (ID: 5550 Sequence number: 0)

localhost -> localhost ICMP Echo reply (ID: 5550 Sequence number: 0)

要生成详细输出,请使用 -v 选项。# snoop -v -I lo0

Using device ipnet/lo0 (promiscuous mode)

IPNET: ----- IPNET Header -----

IPNET:

IPNET: Packet 1 arrived at 10:40:33.68506

IPNET: Packet size = 108 bytes

IPNET: dli_version = 1

IPNET: dli_type = 4

IPNET: dli_srczone = 0

IPNET: dli_dstzone = 0

IPNET:

IP: ----- IP Header -----

IP:

IP: Version = 4

IP: Header length = 20 bytes

...

为了支持观察 IP 层上的包,引入了优先于要观察的包的新 ipnet 数据包头。将同时指示源和目标 ID。ID 为“0”指示将从全局区域生成通信流量。

示例 5-19 本地区域的 net0 设备中的包流# snoop -I net0

Using device ipnet/net0 (promiscuous mode)

toybox -> sandbox TCP D=22 S=62117 Syn Seq=195630514 Len=0 Win=49152 Options=

sandbox -> toybox TCP D=62117 S=22 Syn Ack=195630515 Seq=195794440 Len=0 Win=49152

toybox -> sandbox TCP D=22 S=62117 Ack=195794441 Seq=195630515 Len=0 Win=49152

sandbox -> toybox TCP D=62117 S=22 Push Ack=195630515 Seq=195794441 Len=20 Win=491

该输出显示了系统内不同区域中发生的通信。您可以查看与 net0 IP 地址关联的所有包,包括从本地传递到其他区域的包。如果生成详细输出,则可以查看包流中涉及的区域。# snoop -I net0 -v port 22

IPNET: ----- IPNET Header -----

IPNET:

IPNET: Packet 5 arrived at 15:16:50.85262

IPNET: Packet size = 64 bytes

IPNET: dli_version = 1

IPNET: dli_type = 0

IPNET: dli_srczone = 0

IPNET: dli_dstzone = 1

IPNET:

IP: ----- IP Header -----

IP:

IP: Version = 4

IP: Header length = 20 bytes

IP: Type of service = 0x00

IP: xxx. .... = 0 (precedence)

IP: ...0 .... = normal delay

IP: .... 0... = normal throughput

IP: .... .0.. = normal reliability

IP: .... ..0. = not ECN capable transport

IP: .... ...0 = no ECN congestion experienced

IP: Total length = 40 bytes

IP: Identification = 22629

IP: Flags = 0x4

IP: .1.. .... = do not fragment

IP: ..0. .... = last fragment

IP: Fragment offset = 0 bytes

IP: Time to live = 64 seconds/hops

IP: Protocol = 6 (TCP)

IP: Header checksum = 0000

IP: Source address = 172.0.0.1, 172.0.0.1

IP: Destination address = 172.0.0.3, 172.0.0.3

IP: No options

IP:

TCP: ----- TCP Header -----

TCP:

TCP: Source port = 46919

TCP: Destination port = 22

TCP: Sequence number = 3295338550

TCP: Acknowledgement number = 3295417957

TCP: Data offset = 20 bytes

TCP: Flags = 0x10

TCP: 0... .... = No ECN congestion window reduced

TCP: .0.. .... = No ECN echo

TCP: ..0. .... = No urgent pointer

TCP: ...1 .... = Acknowledgement

TCP .... 0... = No push

TCP .... .0.. = No reset

TCP: .... ..0. = No Syn

TCP: .... ...0 = No Fin

TCP: Window = 49152

TCP: Checksum = 0x0014

TCP: Urgent pointer = 0

TCP: No options

TCP:

ipnet 数据包头指示该包是从全局区域 (ID 0) 发送至沙箱 (ID 1) 的。

示例 5-20 通过标识区域观察通信流量# snoop -I hme0 sandboxsnoop -I net0 sandbox

Using device ipnet/hme0 (promiscuous mode)

toybox -> sandbox TCP D=22 S=61658 Syn Seq=374055417 Len=0 Win=49152 Options=

sandbox -> toybox TCP D=61658 S=22 Syn Ack=374055418 Seq=374124525 Len=0 Win=49152

toybox -> sandbox TCP D=22 S=61658 Ack=374124526 Seq=374055418 Len=0 Win=49152

#

通过标识区域来观察包的功能在具有多个区域的系统中非常有用。当前,只能使用区域 ID 标识区域。不支持将 snoop 与区域名称一起使用。

oracle 49152,使用 snoop 命令监视包传送 - Oracle Solaris 管理:IP 服务相关推荐

  1. oracle 查看监听命令_linux下使用Oracle常用命令

    进入Oracle用户 1 su - oracle 以dba身份进入sql语句 1 sqlplus / as sysdba 启动数据库相关命令 启动数据库 1 startup 启动监听(关闭监听的命令l ...

  2. Oracle常见操作和命令

    在 Oracle 中,下面哪个命令可以修改用户的默认密码有效期为无限制?(单选) A. ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME 90: ORACL ...

  3. 【分享】Oracle 常用运维命令大全

    教材下载 ORACLE OCP 19C 官方电子教材 ORACLE OCP 12C官方电子教材 课程介绍 DBA数据库管理必备认证:ORACLE OCP 19C Oracle 常用运维命令大全 一.o ...

  4. oracle启动shell脚本编写,Linux下的Oracle启动脚本及其开机自启动

    说明:以下操作环境在CentOS 6.4 + Oracle 11gR2(Oracle安装在ORACLE_BASE=/opt/oracle中,其ORACLE_HOME=/opt/oracle/11g) ...

  5. 在linux中安装oracle中文包,在Linux命令行下安装Oracle 10g

    Oracle 10g支持在命令行下用静默模式(Silent)安装,给那些没有安装图形界面的Linux系统提供了极大的便利. 下面以Fedora Core 6为例,介绍在命令行下安装OracleOrac ...

  6. wireshark分析oracle报错,Linux下抓包工具tcpdump以及分析包的工具wireshark

    tcpdump是用来抓取数据的,wireshark则是用于分析抓取到的数据的. 一般需要安装,直接使用yum安装:yum -y install tcpdump即可. Tcpdump使用方法(1)关于类 ...

  7. 使用Oracle 的 imp ,exp 命令实现数据的导入导出

    本文对Oracle数据的导入导出 imp ,exp 两个命令进行了介绍, 并对其相应的参数进行了说明,然后通过一些示例进行演练,加深理解. 文章最后对运用这两个命令可能出现的问题(如权限不够,不同or ...

  8. Oracle Instanc Client安装命令工具

    条件 1.Linux RHEL 6.X X86_64操作系统 2.从安装Oracleserver的server此次收购Oracle相关文件(同OS) 软件下载 从Oracle包: 1)  instan ...

  9. ORACLE经常使用的命令

    一个.ORACLE启动和关机 1.在独立环境中 要启用或禁用ORACLE该系统必须切换到ORACLE用户,例如以下 su-oracle a.启动ORACLE系统 oracle>svrmgrl S ...

最新文章

  1. idea 快速搭建spring boot 多模块项目(底部附源码)
  2. 找出一个文件夹下后缀名为.jpg的文件
  3. Ucenter会员同步通讯登录原理(转)
  4. raid 物理盘缓存状态_使用MegaCli工具查看Raid磁盘阵列状态
  5. C#网络版斗地主——出牌权限的传递
  6. Flutter教程app
  7. 一次关于使用status作为变量引发的bug及思考
  8. 通达OA智能开发平台CRM系统 实现数据的自动计算
  9. 【千月二开美化版】畅视福利影院APP源码+畅视影视源码+对接苹果CMS【已测试】
  10. java创建一个问卷调查界面_十分钟搭建自己的问卷调查系统 | 码云周刊
  11. zigbee网络各层的主要功能
  12. 计算机二级 java编程题_计算机等级二级考试辅导:Java IO单元机试题及解答(第2部分)...
  13. python获取标准的北京时间的源码
  14. 小端格式和大端格式(Little-EndianBig-Endian)
  15. [推荐]中国网管的知识宝库-网管之家
  16. 移动端web设计尺寸_移动端之Web及app设计尺寸
  17. Unity 渲染教程(一):矩阵
  18. TJA1043 CanTrcv
  19. 差点,参加中国平安保险集团
  20. SQL Server AVG函数取整问题

热门文章

  1. js抽奖事件——生成不同概率随机数
  2. Win7有多条隧道适配器的原因及关闭方法
  3. mybatisplus 实体类的字段名与数据库的字段名不一致的解决办法
  4. 【吐血整理】正则表达式生成器java
  5. 集电极开路,漏极开路
  6. c# lu分解的代码_矩阵LU分解分块算法实现
  7. 朴素贝叶斯代码(Python)
  8. 【博主已解决】win10系统wlan消失 网络适配器出现黄色感叹号(代码56)
  9. 中南大学1617c语言试卷,中南大学C语言程序设计试卷.docx
  10. 小米公开招股:最高发售价每股22港元