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. fixed 相对于父容器定位

    当一个元素设置为 fixed 或 absolute,不设置 top, left 则会在原位置,而脱离文档流,别的元素可以存在于它之后. 而当使用 fixed 后还想相对于父容器进行定位,或者说在当前位 ...

  2. PythonStudy——Python 中Switch-Case 结构的实现

    学习Python过程中,发现Python没有Switch-case,过去写C习惯用Switch/Case语句,官方文档说通过if-elif实现.所以不妨自己来实现Switch-Case功能. 方法一 ...

  3. Java面向对象 第3节 类的封装和继承

      一.封装 封装的概念:将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的访问和操作. 封装的2个大致原则:1)把尽可能多的东西隐藏起来,对外提供便捷的接口 ...

  4. kindle試玩

    Q:試玩感受如何? Pros 按這個版本,沒有燈,在光纖不好的時候看起來很累.但陽光好的時候看起來很爽 重量很輕,比手機邀請很多 看書很容易沉浸下去,這一點比收集好狠毒 Cons 網上說看pdf不大行 ...

  5. java 原子性 可见性 有序性

    原子性 原子性是指一个操作或多个操作要么全部执行完成且执行过程不被中断,要么就不执行. 如向变量x赋值操作 x = 10 是原子性的,就不会出现赋值操作进行到一半(x的低16位赋值成功,高16位没有赋 ...

  6. [转]马上2018年了,该不该下定决心转型AI呢

    转自:http://blog.csdn.net/eNohtZvQiJxo00aTz3y8/article/details/78941013 2017年,AI再一次迈向风口,但我们如何判断未来走向?应不 ...

  7. 解决centos 7.5安装openvpn,mirrors.163.com提示没有可用软件包openvpn、easy-rsa问题

    提示: yum install openvpn 已加载插件:fastestmirror Loading mirror speeds from cached hostfile * base: mirro ...

  8. Linux系统时钟的更改

    linux系统时钟有两个,一个是硬件时钟,即BIOS时间,就是我们进行CMOS设置时看到的时间,另一个是系统时钟,是linux系统Kernel时间. 查看.设置硬件时间: 查看系统硬件时钟 hwclo ...

  9. Azure VMSS (2) 对VM执行Generalize操作

    <Windows Azure Platform 系列文章目录> 在本章中,笔者将介绍如何创建Azure Template镜像模板. 1.首先,我们先创建1台Windows Server 2 ...

  10. plot

    scatter import pandas as pd df_train=pd.read_excel(r"C:\Users\Liugengxin\Desktop\回归.xlsx") ...