天融信的debug功能
作者:易隐者 发布于:2012-5-3 15:49 Thursday 分类:网络安全
1,debug说明:
在TOS 3.3.005以上版本下使用
通常遇到了防火墙的故障时一般是通过抓包的方式来查看进出的数据包,但是有些情况下设备不支持抓包(如:425平台)或者通过抓包无法分析出故障,那么这种情况下可以通过防火墙的DEBUG功能(005以上版本都可以支持,与硬件平台没关系)来进行故障的定位,这个功能可以观察数据包在防火墙不同的模块间数据转发的一个过程,可以很快定位数据故障的原因,下面介绍一下这个功能的基本使用方法和一个故障定位的案例。
系统模块开关状态,默认是关闭。
debug module show 可以看到系统的模块的开关状态的调试级别。
开启模块的调试功能,调试级别改为4级。
debug module enable name session level 4
debug module enable name ncore-switch level 4
debug module enable name ncore-packetcheck level 4
debug module enable name ncore-hook level 4
debug module enable name ncore-route level 4
debug module enable name ncore-arp level 4
debug module enable name ncore-packetsend level 4
debug module enable name suitstate_mod level 4
debug module enable name ha_mod level 4
debug module enable name ha_sync level 4
debug module enable name bpf level 4
debug module enable name pf level 4
debug module enable name ip_mac level 4
debug module enable name fw_nat_module level 4
debug module enable name as_info level 4
debug module enable name ids level 4
debug module enable name routed level 4
注意,设备不一样模块数会有所不同。
配置过滤策略,只输出主机地址为172.16.1.2的主机地址的debug信息
debug filter set host-ip1 172.16.1.2 host-ip2 172.16.1.2
启动debug输出
debug start
查看过滤条件
debug filter show
2,案例:
用户通过vpn后无法访问保护主机,但是可以ping通这台机器,设备是425平台无法抓包,无法通过抓包来定位问题。
用X86的设备还原故障时现象一样
抓包可以看到防火墙收到了包系统没有转发出去。
01:45:59.888508 R@ppp0 In ethertype IPv4 (0x0800), length 64: (tos 0x0, ttl 128, id 7215, offset 0, flags [DF], proto: TCP (6), length: 48) 10.1.1.2.1377 > 172.16.1.2.23: S, cksum 0xaa90 (correct), 217698000:217698000(0) win 16384 <mss 1260,nop,nop,sackOK>
01:46:02.840808 R@ppp0 In ethertype IPv4 (0x0800), length 64: (tos 0x0, ttl 128, id 7221, offset 0, flags [DF], proto: TCP (6), length: 48) 10.1.1.2.1377 > 172.16.1.2.23: S, cksum 0xaa90 (correct), 217698000:217698000(0) win 16384 <mss 1260,nop,nop,sackOK>
01:46:08.856214 R@ppp0 In ethertype IPv4 (0x0800), length 64: (tos 0x0, ttl 128, id 7236, offset 0, flags [DF], proto: TCP (6), length: 48) 10.1.1.2.1377 > 172.16.1.2.23: S, cksum 0xaa90 (correct), 217698000:217698000(0) win 16384 <mss 1260,nop,nop,sackOK>
设备debug输出信息为:
session : -----------------------------------------
session : Packet(protocol=6) entering session
session : new session :proto=6 10.1.1.2/1371 <==> 172.16.1.2/23 //主机访问服务器的23端口,是一个新的连接//
session : TCP session get SYN packet, change server status to SYN RCVD
session : new session created
ncore-hook : Datagram input HOOK 1 SE ipsec_post_bridge
ncore-hook : Datagram input HOOK 1 SE se_pf_postsession
ncore-hook : Datagram input HOOK 1 SE dpi_pre_nat
ncore-hook : Datagram input HOOK 1 SE se_syncookie //数据包在syncookie模块没有转发出去//
session : syn cookie get SYN from client.
session : syn cookie send SYN+ACK to client.
ncore-hook : Datagram input HOOK 3 SE ipsec_pre_routing //数据包没有走到下一个模块上,说明问题就出现在与syn代理方面的配置上,后检查发现设备对172.16.0.0这个子网做了syn代理处理,但是即使配置syn代理系统也应该把数据包转发出去,因此初步怀疑syn代理机制有bug存在。//
可以通过修改配置来解决,去掉syn代理后网络正常。输出信息如下:
session : -----------------------------------------
session : Packet(protocol=6) entering session
session : new session :proto=6 10.1.1.2/3536 <==> 172.16.1.2/23 //新建连接//
session : TCP session get SYN packet, change server status to SYN RCVD //syn包//
session : new session created
ncore-hook : Datagram input HOOK 1 SE ipsec_post_bridge //经过了vpn模块//
ncore-hook : Datagram input HOOK 1 SE se_pf_postsession //经过了防火墙的pf规则//
ncore-hook : Datagram input HOOK 1 SE dpi_pre_nat
ncore-hook : Datagram input HOOK 1 SE se_syncookie //经过了syn代理模块//
ncore-hook : Datagram input HOOK 1 SE se_nat
fw_nat_module : [dnat handle] before nat proto:[6] 10.1.1.2(3536) ==> 172.16.1.2(23)
ncore-hook : Datagram input HOOK 1 SE se_firewall
fw_nat_module : [fw handle] policy [8376] matched //匹配到了防火墙的访问控制策略id号8376//
ncore-hook : Datagram input HOOK 1 SE se_firewall
ncore-hook : Datagram input HOOK 1 SE se_nat
fw_nat_module : [snat handle] before nat proto:[6] 10.1.1.2(3536) ==> 172.16.1.2(23) //匹配到了防火墙的地址转换策略id号8386//
fw_nat_module : [snat handle] policy [8386] matched
fw_nat_module : [snat handle] after nat proto:[6] 172.16.1.1(3536) ==> 172.16.1.2(23)
ncore-hook : Datagram input HOOK 1 SE se_firewall
ncore-hook : Datagram input HOOK 1 SE dpi_post_nat
ncore-hook : Datagram input HOOK 1 SE ffr_post_nat
ncore-hook : Datagram input HOOK 1 SE se_pf_postsession
session : Session confirm success, total confirm number is 182803 //会话建立完成会话号为:182803//
ncore-hook : Datagram input HOOK 3 SE ids_pre_routing
ids : 0.0.0.0-->172.16.1.2, config not found //匹配防火墙ids策略//
ncore-hook : Datagram input HOOK 3 SE se_pf_postsession
ncore-hook : Datagram input HOOK 3 SE se_firewall
ncore-hook : Datagram input HOOK 3 SE dpi_pre_routing
ncore-hook : Datagram input HOOK 3 SE ffr_prerouting
ncore-hook : Datagram input HOOK 3 SE bridge_chk
ncore-hook : Datagram input HOOK 3 SE ipsec_pre_routing
ncore-hook : Datagram input HOOK 4 SE tos_qos_policy
ncore-packetcheck : begin to tos_tb.
ncore-hook : Datagram input HOOK 0 SE ipsec_rcv
ncore-hook : Datagram input HOOK 0 SE ids_linkin
ncore-hook : Datagram input HOOK 0 SE ip_mac
ip_mac : ip mac accept //匹配防火墙ip+mac策略//
ncore-hook : Datagram input HOOK 0 SE bpf
ncore-hook : Datagram input HOOK 0 SE igmp_local_in
ncore-hook : Datagram input HOOK 0 SE se_ha
//第一个数据包完成//
//下面是二个回应数据包//
session : -----------------------------------------
session : Packet(protocol=6) entering session
session : Old session: proto=6 172.16.1.2/23 ==> 172.16.1.1/3536
session : TCP session got SYN ACK packet, change server status to SACK WAIT
session : cheat check, need nat
session : Old session packet accept
ncore-hook : Datagram input HOOK 3 SE ids_pre_routing
ncore-hook : Datagram input HOOK 3 SE se_pf_postsession
ncore-hook : Datagram input HOOK 3 SE se_firewall
ncore-hook : Datagram input HOOK 3 SE dpi_pre_routing
ncore-hook : Datagram input HOOK 3 SE ffr_prerouting
ncore-hook : Datagram input HOOK 3 SE bridge_chk
ncore-hook : Datagram input HOOK 3 SE ipsec_pre_routing
ncore-hook : Datagram input HOOK 4 SE tos_qos_policy
ncore-packetcheck : begin to tos_tb.
ncore-hook : Datagram input HOOK 0 SE ipsec_rcv
ncore-hook : Datagram input HOOK 0 SE ids_linkin
ncore-hook : Datagram input HOOK 0 SE ip_mac
ip_mac : ip mac accept
ncore-hook : Datagram input HOOK 0 SE bpf
ncore-hook : Datagram input HOOK 0 SE igmp_local_in
ncore-hook : Datagram input HOOK 0 SE se_ha
//下面是三个回应数据包//
session : -----------------------------------------
session : Packet(protocol=6) entering session
session : Old session: proto=6 10.1.1.2/3536 ==> 172.16.1.2/23
session : Got ACK packet , TCP handshake success
session : cheat check, need nat
session : Old session packet accept
ncore-hook : Datagram input HOOK 3 SE ids_pre_routing
ncore-hook : Datagram input HOOK 3 SE se_pf_postsession
ncore-hook : Datagram input HOOK 3 SE se_firewall
ncore-hook : Datagram input HOOK 3 SE dpi_pre_routing
ncore-hook : Datagram input HOOK 3 SE ffr_prerouting
ncore-hook : Datagram input HOOK 3 SE bridge_chk
ncore-hook : Datagram input HOOK 3 SE ipsec_pre_routing
ncore-hook : Datagram input HOOK 4 SE tos_qos_policy
ncore-packetcheck : begin to tos_tb.
ncore-hook : Datagram input HOOK 0 SE ipsec_rcv
ncore-hook : Datagram input HOOK 0 SE ids_linkin
ncore-hook : Datagram input HOOK 0 SE ip_mac
ip_mac : ip mac accept
ncore-hook : Datagram input HOOK 0 SE bpf
ncore-hook : Datagram input HOOK 0 SE igmp_local_in
ncore-hook : Datagram input HOOK 0 SE se_ha
//连接建立完成//
session : -----------------------------------------
session : Packet(protocol=6) entering session
session : Old session: proto=6 172.16.1.2/23 ==> 172.16.1.1/3536
session : cheat check, need nat
session : Old session packet accept
ncore-hook : Datagram input HOOK 3 SE ids_pre_routing
ncore-hook : Datagram input HOOK 3 SE se_pf_postsession
ncore-hook : Datagram input HOOK 3 SE se_firewall
ncore-hook : Datagram input HOOK 3 SE dpi_pre_routing
ncore-hook : Datagram input HOOK 3 SE ffr_prerouting
ncore-hook : Datagram input HOOK 3 SE bridge_chk
ncore-hook : Datagram input HOOK 3 SE ipsec_pre_routing
ncore-hook : Datagram input HOOK 4 SE tos_qos_policy
ncore-packetcheck : begin to tos_tb.
ncore-hook : Datagram input HOOK 0 SE ipsec_rcv
ncore-hook : Datagram input HOOK 0 SE ids_linkin
ncore-hook : Datagram input HOOK 0 SE ip_mac
ip_mac : ip mac accept
ncore-hook : Datagram input HOOK 0 SE bpf
ncore-hook : Datagram input HOOK 0 SE igmp_local_in
ncore-hook : Datagram input HOOK 0 SE se_ha
session : -----------------------------------------
session : Packet(protocol=6) entering session
session : Old session: proto=6 10.1.1.2/3536 ==> 172.16.1.2/23
session : cheat check, need nat
session : Old session packet accept
ncore-hook : Datagram input HOOK 3 SE ids_pre_routing
ncore-hook : Datagram input HOOK 3 SE se_pf_postsession
ncore-hook : Datagram input HOOK 3 SE se_firewall
ncore-hook : Datagram input HOOK 3 SE dpi_pre_routing
ncore-hook : Datagram input HOOK 3 SE ffr_prerouting
ncore-hook : Datagram input HOOK 3 SE bridge_chk
ncore-hook : Datagram input HOOK 3 SE ipsec_pre_routing
ncore-hook : Datagram input HOOK 4 SE tos_qos_policy
ncore-packetcheck : begin to tos_tb.
ncore-hook : Datagram input HOOK 0 SE ipsec_rcv
ncore-hook : Datagram input HOOK 0 SE ids_linkin
ncore-hook : Datagram input HOOK 0 SE ip_mac
ip_mac : ip mac accept
ncore-hook : Datagram input HOOK 0 SE bpf
ncore-hook : Datagram input HOOK 0 SE igmp_local_in
ncore-hook : Datagram input HOOK 0 SE se_ha
总体而言,这个debug功能相对于tcpdump功能而言要复杂详细得多,可以分析判断出系统内部的一些问题。
版权所有:《蚂蚁网-多维人生,三实而立!》 => 《天融信的debug功能》
本文地址:http://www.vants.org/?post=39
除非注明,文章均为 《蚂蚁网-多维人生,三实而立!》 原创,欢迎转载!转载请注明本文地址,谢谢。
评论:
日历
最新日志
链接
分类
最新碎语
- 如果一个人想要做一件真正忠于自己内心的事情,那么往往只能一个人独自去做"——理查德·耶茨
2019-06-25 21:34
- 日后我们知道,真正的人生道路是由内心决定的。不论我们的道路看上去如此曲折、如此荒谬地背离我们的愿望,它终归还是把我们引到我们看不见的目的地。(茨威格《昨日世界》)
2019-03-16 21:27
- 如果你渴望得到某样东西,你得让它自由,如果它回到你身边,它就是属于你的,如果它不会回来,你就从未拥有过它。——大仲马《基督山伯爵》
2018-10-09 22:07
- 人生有两大悲剧:一个是没有得到你心爱的东西;另一个是得到了你心爱的东西。人生有两大快乐:一个是没有得到你心爱的东西,于是可以寻求和创造;另一个是得到了你心爱的东西,于是可以去品味和体验。——弗洛伊德
2018-09-25 18:06
- 一个人越有思想,发现有个性的人就越多。普通人是看不出人与人之间的差别的——布莱兹·帕斯卡尔
2018-08-30 18:44
存档
- 2020年11月(2)
- 2018年1月(1)
- 2017年12月(1)
- 2017年11月(6)
- 2017年6月(1)
- 2017年5月(1)
- 2017年4月(1)
- 2017年3月(1)
- 2016年11月(1)
- 2016年4月(1)
- 2015年7月(2)
- 2015年6月(1)
- 2015年5月(5)
- 2014年12月(1)
- 2014年11月(1)
- 2014年10月(1)
- 2014年8月(1)
- 2014年7月(1)
- 2014年6月(1)
- 2014年5月(1)
- 2014年4月(3)
- 2014年2月(2)
- 2014年1月(2)
- 2013年12月(1)
- 2013年11月(1)
- 2013年10月(2)
- 2013年9月(1)
- 2013年8月(1)
- 2013年7月(3)
- 2013年6月(2)
- 2013年5月(1)
- 2013年4月(3)
- 2013年3月(1)
- 2013年2月(2)
- 2013年1月(2)
- 2012年12月(11)
- 2012年11月(12)
- 2012年10月(12)
- 2012年9月(26)
- 2012年8月(29)
- 2012年7月(18)
- 2012年6月(2)
- 2012年5月(25)
- 2012年4月(16)
- 2012年3月(13)
- 2012年2月(6)
2012-05-03 23:30