Snoop 是Juniper防火墙另外一个有效的查错工具,它和debug flow basic的区别是: snoop类似于在防火墙的接口上抓包,可以根据具体接口, 数据包的方向, 协议等等要素进行过滤抓包; debug flow basic则对数据包如何穿越防火墙进行分析,将防火墙的对数据包的处理过程显示出来. Snoop的使用举例如下: 1. 先设置过滤列表,使得防火墙只对需要的数据包进行分析. 即snoop filter命令:
ns208-> snoop filterdelete delete snoop filter >
ethernet snoop specified ethernet
id snoop filter id |
ip snoop ip packet ?YcG
off turn off snoop filter dwjYU\on turn on snoop filter
tcp snoop tcp packet udp snoop udp packet 7
ns208-> snoop filter ip direction snoop direction
dst-ip snoop filter dst ip dst-port snoop filter dst port
interface interface name
ip-proto snoop filter ip proto a port src or dst port Pv
src-ip snoop filter src ip 1)TEIsrc-port snoop filter src port IPv4 Address
offset ip offset UqDqF
ns208-> snoop info
Snoop: OFF
Filters Defined: 2, Active Filters 2
Detail: OFF, Detail Display length: 96 EE
Snoop filter based on: id 1(on): IP dir(I) qc
id 2(on): IP dst-ip 172.27.68.1 dir(B) :WdL
RHtx3{S/
2. 开启snoop 进行抓包 YC
ns208-> snoopStart Snoop, type ESC or 'snoop off' to stop, continue? [y]/n y
3. 发送测试数据包或让小部分流量穿越防火墙
4. 停止snoop ns208-> snoop off
5. 检查防火墙对所转发的符合过滤条件的数据包的分析结果(非采用上面的filter,而是采用另外的filter):
ns208-> get db stream 5Y=Mmu=JJ
1. The packet comes into the Netscreen from the Trusted side client. 55864.0: 0(i):005004bb815f->0010db00ab30/0800 D*MoEd
10.0.0.36->10.10.10.14/1, tlen=60 vhl=45, id=31489, frag=0000, ttl=32
2. The packet then leaves the Netscreen, on it’s way to the destination host. 55864.0: 1(o):0010db00ab31->00104bf3d073/0800 10.10.10.10->10.10.10.14/1, tlen=60 uS
vhl=45, id=31489, frag=0000, ttl=31 r
3. The packet then returns to the Netscreen from the host. &W 55864.0: 1(i):00104bf3d073->0010db00ab31/0800 |_+%'XtU
10.10.10.14->10.10.10.10/1, tlen=60 |yxLm vhl=45, id=12289, frag=0000, ttl=128
4. Finally, the packet is returned to the client on the trusted side. -