1.工具说明

  在防火墙部署中,经常会遇到防火墙接收到了数据包,但并未进行转发。可以通过diagnose debug flow 命令来对数据包的处理过程进行跟踪,可以清晰查看数据包再各个功能模块内的处理过程,判断出数据包如何被转发或者丢弃。

2.命令介绍

  diagnose debug enable              开启debug功能

  diagnose debug flow show console enable  开始flow的输出

  diagnose debug flow filter add 119.253.62.131     定制过滤器,支持多种过滤;可以添加多个组合的过滤器

  diagnose debug flow trace start 6    定义所要跟踪数据包的数量

  diagnose debug flow filter         查看过滤器的配置

3.过滤参数

  FGT# diagnose debug flow filter

  addr      IP address.                        // ip地址

  clear     Clear filter.                         // 清除过滤器

  daddr     Destination IP address.     // 目的地址

  dport     Destination port.           //目的端口

  negate    Inverse filter.             //反向过滤

  port      port                        // 接口, 如port1

  proto     Protocol number.  // 协议,  如6,tcp协议, 17 udp, 1 icmp

  saddr     Source IP address.          //源地址

  sport     Source port.                // 源端口

  vd        Index of virtual domain.     //vdom

4.分析示例

1)

  FGT# id=36871 trace_id=1 msg="vd-root received a packet(proto=6, 192.168.1.110:51661->119.253.62.131:80) from internal."id=36871 trace_id=1 msg="allocate a new session-00016920"

  //internal口收到数据,建立新会话

  id=36871 trace_id=1 msg="find a route: gw-192.168.118.1 via wan1"             //查找到路由表

  id=36871 trace_id=1 msg="find SNAT: IP-192.168.118.28, port-43333"                     //检测存在NAT配置

  id=36871 trace_id=1 msg="Allowed by Policy-1: SNAT"                       // 匹配策略,ID1

  id=36871 trace_id=1 msg="SNAT 192.168.1.110->192.168.118.28:43333"          //做NAT

  id=36871 trace_id=3 msg="vd-root received a packet(proto=6, 119.253.62.131:80->192.168.118.28:43333) from wan1."                                                           // Wan1口收到返回数据包

  id=36871 trace_id=3 msg="Find an existing session, id-00016920, reply direction"                //数据包匹配会话id-0001692

  id=36871 trace_id=3 msg="DNAT 192.168.118.28:43333->192.168.1.110:51661"

  /做反向的DNAT

  id=36871 trace_id=3 msg="find a route: gw-192.168.1.110 via internal"                                //查找路由,发送到internal口

  id=36871 trace_id=5 msg="vd-root received a packet(proto=6, 192.168.1.110:51661->119.253.62.131:80) from internal."                                      //internal口收到后续数据包

  id=36871 trace_id=5 msg="Find an existing session, id-00016920, original direction"               //匹配会话id-0001692

  id=36871 trace_id=5 msg="enter fast path"        //直接转发

  id=36871 trace_id=5 msg="SNAT 192.168.1.110->192.168.118.28:43333"                 //NAT

  2)策略拒绝访问

  FGT# id=36871 trace_id=23 msg="vd-root received a packet(proto=6, 192.168.1.110:51768->119.253.62.131:80) from internal."

  id=36871 trace_id=23 msg="allocate a new session-00017537"

  id=36871 trace_id=23 msg="find a route: gw-192.168.118.1 via wan1"

  id=36871 trace_id=23 msg="Denied by forward policy check"       //直接被策略拒绝,检查策略配置问题

  3)常见debug flow结果

  msg="iprope_in_check() check failed, drop"

  没有该项策略,或策略不匹配,数据包被丢弃

  msg="Denied by forward policy check"

  策略动作拒绝,或命中隐含策略, 数据包被拒绝

  msg="reverse path check fail, drop"

  反向路径,即源路由检查失败,丢弃数据包

  会话经由 session-helper 处理

  msg="run helper-ftp(dir=original)"

FortiGate数据流分析 debug flow的更多相关文章

  1. sniffer 和 debug flow

    sniffer 和 debug flow sniffer 和 debug flow 复制模板,直接修改IP即可使用: diagnose sys session filter clear diagnos ...

  2. Cisco IOS Debug Command Reference Command E through H

    debug eap through debug he-module subslot periodic debug eap : to display information about Extensib ...

  3. FortiGate外网IPSec链路及运维专线链路到个别网段不通

    1.现状: 如图,用户网段有192.168.50.0/24.192.168.51.0/24和192.168.52.0/24.192.168.53.0/24.在防火墙上有静态路由到运维专线的10.160 ...

  4. Fortigate防火墙常用命令

    命令结构 #config 对策略,对象等进行配置 #get  查看相关对象的参数 #show 查看配置文件 #diagnose 诊断命令 #execute  常用的工具命令,如ping treacer ...

  5. in packet sniffer

    in packet sniffer 来源 https://kb.fortinet.com/kb/microsites/search.do?cmd=displayKC&docType=kc&am ...

  6. node中的Stream-Readable和Writeable解读

    在node中,只要涉及到文件IO的场景一般都会涉及到一个类-Stream.Stream是对IO设备的抽象表示,其在JAVA中也有涉及,主要体现在四个类-InputStream.Reader.Outpu ...

  7. MFC Picture控件加载图片

    CStatic *pPic = (CStatic*)GetDlgItem(IDC_PICTURE); CBitmap bitmap; bitmap.LoadBitmapW(IDB_BITMAP2); ...

  8. IntelliJ IDEA 的 20 个代码自动完成的特性

    http://www.oschina.net/question/12_70799 在这篇文章中,我想向您展示 IntelliJ IDEA 中最棒的 20 个代码自动完成的特性,可让 Java 编码变得 ...

  9. Stream探究

    http://segmentfault.com/a/1190000003479884 1. 认识Stream Stream的概念最早来源于Unix系统,其可以将一个大型系统拆分成一些小的组件,然后将这 ...

随机推荐

  1. kolla单节点部署openstack

    virtualbox环境: 双网卡:enp0s3(桥接)   192.168.102.194 enp0s8(桥接)   无ip 块存储  50G 关闭防火墙,selinux. 配置yum源:wget  ...

  2. 导入导出Oracle

  3. 第二个web网页

    1.源代码 <!DOCTYPE html> <html> <head> <meta charset="UTF-8">-------- ...

  4. cannot find package "context"

    导入  github.com/go-sql-driver/mysql 和 database/sql 时,报cannot find package "context"的错误因为go1 ...

  5. because there was insufficient free space available after evicting expired cache entries

    Tomcat运行的时候哗哗哗的报警告 版本是Tomcat 8.5.15 告警信息关键字如下 because there was insufficient free space available af ...

  6. Mysql环境搭建(及中文乱码解决)

    卸载MySQL 电脑已经安装过mysql的 卸载电脑上的mysql方法: 我的电脑-->右键-->属性-->高级系统设置-->环境变量-->系统变量里面-->找到环 ...

  7. 变量、&连接、函数与过程、按下某键

    1.变量的声明 常量 信息 为 文本型 = "你好,世界!" '这是常量 变量 结果 为 整数型 '这是程序集变量,在程序集的开头定义即可 变量 测试 为 整数型 = '可以直接给 ...

  8. STM32定时器时间的计算方法

    本文出自:https://wenku.baidu.com/view/e3bdfb7601f69e31433294c4.htmlSTM32定时器时间的计算方法STM32中的定时器有很多用法:(一)系统时 ...

  9. 2.STM32启动文件

    一.概念声明 中断向量:由硬件产生的中断标识码,一般用于存放中断服务程序的跳转指令.根据硬件产生的中断号查找中断向量表来确定对应的中断向量.CM3内核有15个异常  和240个中断源.    程序的内 ...

  10. Java虚拟机--------JVM常见参数

    JVM 调优常见参数 Java1.7的jvm参数查看一下官方网站. http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java. ...