从零开始的网络排障

一.常用网络排障工具:

ping

随着ip协议一同诞生的协议 虽然基于ip数据包封装协议号为1
从报文结构上看属于传输层协议
从功能角度看 ping常用于测试ip转发是否正常 所以icmp常常被作为网络层协议
icmp由type和code字段区分数据包类型:

  • 当type为0时 做响应数据包 code为0
  • 当type为8时 表示请求数据报 code为0
  • 当type为9时 表示通报路由 code为0
  • code 只有在细分数据包类型时 才会使用

其中type9 为icmp重定向 本意为 当数据传递给路由器从a口进时 通过路由又要从a口出 路由器会通过icmp通报路由 让数据包直接从下一跳路由转发

那么这个报文可以被攻击者利用 直接重定向到攻击者主机 由攻击者对受害主机的数据包任意修改 窃取 阻断

所以为了提高局域网的安全性 icmp很可能会被禁用
使用方法与参数

ping [选项] 目标地址/域名
选项:
	-t 不断发包
	-a 反向解析通过地址求得域名 如果解析不到 只显示ip
	-n 指定数据包个数 
	-l 指定数据包的大小
	具体不同的操作系统 会有不同的选项 可以查看帮助手册 

简而言之 ping命令是常用于测试网络连通性 测试转发效率 解析或反解域名的常用命令

tracert

tracert是基于icmp或udp封装的 通过增量ip数据包首部中的ttl值 不断查询对应跳数与可到达设备的对应关系 从而得出到达目标每一跳的路由
具体原理如:

ping -i 1 www.baidu.com
正在 Ping www.a.shifen.com [157.148.69.80] 具有 32 字节的数据:
来自 172.16.26.1 的回复: TTL 传输中过期。

ping -i 2 www.baidu.com
正在 Ping www.a.shifen.com [157.148.69.80] 具有 32 字节的数据:
来自 192.168.1.1 的回复: TTL 传输中过期。

ping -i 3 www.baidu.com
正在 Ping www.a.shifen.com [157.148.69.80] 具有 32 字节的数据:
来自 100.74.0.1 的回复: TTL 传输中过期。

从上述三个ping与执行结果可以看出前三个越点分别是:
172.16.26.1 -> 192.168.1.1 -> 100.74.0.1

使用方法与参数

tracert [选项] 目标地址/域名
选项:
-d                             不将地址解析成主机名
-h maximum_hops     搜索目标的最大跃点数,默认30
-w timeout                等待每个回复的超时时间(以毫秒为单位)。
-R                             跟踪往返行程路径(仅适用于 IPv6)
-S srcaddr                 要使用的源地址(仅适用于 IPv6)
-4                             强制使用 IPv4
-6                             强制使用 IPv6
-j                             指定源地址列表
	具体不同的操作系统 会有不同的选项 可以查看帮助手册 

sniffer

sniffer 是一种抓包工具 sniffer将网卡设定为混杂模式 接受目标mac为任意mac的数据帧
sniffer 使用过程是:
sniffer filter:过滤器 用于过滤筛选数据包
sniffer capture:监听器 会监听抓取符合过滤器特征的数据
sniffer count:统计器 对抓取到的数据统计

filter:

sniffer filter 【过滤规则】
sniffer filter all #过滤所有数据包
sniffer filter dev【接口】#过滤对应接口数据包
sniffer filter vcpu【cpu】#过滤对应cpu的数据包
sniffer filter 【协议类型】#过滤对应协议类型的数据包

capture:

sniffer capture 【过滤规则】【报文数 1-1000】
sniffer capture ip #抓取ip数据包
sniffer capture vlan #抓取交换转发的数据包
sniffer capture pf #抓取通过packet-filter匹配后的数据包
sniffer cpature drop #抓取丢弃的数据包
sniffer cpature drop #抓取丢弃的数据包

count:

sniffer count start 【过滤规则】#匹配到规则的报文进行统计
sniffer count stop #结束报文统计

packet-monitor

packet 相较于sniffer更加细化 sniffer只能对普通的数据包转发记录
packet 甚至可以抓取数据包在各处理过程的细节:
从普通的数据包接收发送 基础攻击检测模块 会话模块 目标nat 路由 安全策略 虚拟专用网络 到源nat 这些数据包转发经历的每一个阶段 都会被监听 检测

packet-monitor 【ip/ipv6/all】【传输层协议 (指定协议号)】【vlan/接口】
packet-monitor ip host 192.168.0.1 icmp #查询 指定ip协议 主机为192.168.0.1 协议类型为icmp的数据包
packet-monitor ip host 10.0.0.1 udp src-port 5000 des-port 9505 #查询 指定ip为10.0.0.1 源端口为5000 目标端口为9505

namp

namp作为一款渗透前期信息收集的工具 非常好用 可以扫描局域网的主机状态 可以扫描主机的端口状态
可以探测主机的操作系统 用来测试局域网主机启动情况 服务器端口启用情况 非常好用
常用选项:

nmap -sS -T4 -F [目标]
扫描目标的端口开启情况 使用syn扫描模式 快速扫描常用端口 T4为速度 速度可选0-6
nmap -sT -T4 -p1-1024 [目标]
扫描目标的端口开启情况 使用tcp全连接扫描 扫描端口1到1024的状态
nmap -sP -T6 [目标网段]
扫描目标网段的主机情况 有启用 有关闭

wireshark

wireshark是非常经典的一款抓包工具 能通过wireshark更好的了解数据转发过程 可以将数据包截获,重发,编辑和缓存 能实现七层的解码 对协议的细节都可以了解
我们也可以选择追踪流 查看一次会话的完整流程

二.故障信息收集:

不同厂家的设备 命令会不同:
思科体系的设备 使用show命令来查看信息
华为体系的设备 使用dis命令来查看信息

 <DPTECH>show tech-support
 
******************************show clock******************************
 

Tue Aug 13 16:07:51 2024 GMT +8:00
 
******************************show version******************************
 

 Software Release S311C013D066
  Conplat Version is V100R006B01D066
  Compiled Fri, 10 Nov 2023 09:57:20 +0800
  Signature base, Version , AV 1.6.1 IPS 3.1.103 WAF 3.1.109 
  Copyright (c) 2008-2023 Hangzhou DPtech Technologies Co., Ltd.  All rights reserved.
  Without the owner's prior written consent, neither decompiling nor reverse-engineering shall be allowed.
 
  IPS2000-MA-X Uptime is 0 week(s), 1 day(s),  5 hour(s), 15 minute(s)
 
  CPU type:       Intel(R) Atom(TM) CPU C3336 @ 1.50GHz

  SDRAM:          4096M bytes
  Flash Memory:   16M 
  EMMC card Memory: 4G 
 
  PCB Version:            D         
  CPLD Version:           7.00      
  BASIC CONBOOT Version:  17.05.16  
  EXTEND CONBOOT Version: 17.05.16  
  Serial Number:          02051143N246000009
  [SLOT   0]  DP1MAXM         (PCB)D,   (CPLD)7.00,   (FPGA)NONE,   (CONBOOT)
 
******************************show patch******************************
 


******************************show device******************************
 

SlotID    BoardName                       Online      Status
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 0         DP1MAXM                         Present     Normal
 1                                         Offline     Forbidden
 2                                         Offline     Forbidden
 
******************************show local-user******************************
 
----------------------------------------------------------------------------
  UserName          : admin
  Password          : ******
  SerVice Type      : 
  Description       : 
  Configure Range   : Super
  Web status        : Normal
  Telnet/SSH status : Normal
  ----------------------------------------------------------------------------
 
******************************show timeout******************************
 
Console current timeout is 300 second(s).
 Telnet current timeout is 300 second(s).
 SSH current timeout is 300 second(s).
 Web current timeout is 300 seconds.
 
******************************show snmp-info******************************
 
snmp v1: not used
 snmp v2c: not used
 snmp v3:  not used
 snmp location: HangZhou
 snmp contact: admin@mail.com
 
******************************show console information******************************
 
Bard rate: 9600 bit/s
 Data bits: 8
 Stop bits: 1

以上只是部分信息 该命令其实就是做了一个封装 将大量的show命令封装为一个show tech-support
我们可以搭建本地tftp服务器 网络设备将信息保存到磁盘 然后发送给本地的tftp服务器 使得我们可以在本地查看配置信息

一般设备都会存在日志功能 多看看日志 一定能找到结果
巧用数据包追踪功能
sniffer filter ip
sniffer capture ip drop
抓取丢弃的ip数据包
packet-monitor 监控数据包

三.防火墙问题排查:

策略不生效

案例一:
策略冗余导致不生效:
我们都知道 acl是从上向下匹配的
当上层策略生效后 数据包被处以动作后 该数据包不会再次进行匹配
而如果下层的策略生效范围 被包含在上层策略的生效范围之内
会导致 下层策略不生效
如:

seq szone dzone    saddr daddr        server user time active
1   trust untrust  any   10.0.0.0/24  any    any  any  drop
2   trust untrust  any   10.0.0.5/32  any    any  any  permit

其中策略2是策略1的冗余 不能被成功运用

案例二:
会话长连接导致网络中断
当企业需要视频会议或其他操作时 需要使用会话长连接 该功能会大大延迟会话的老化时间 当不断有新的主机连接 会话表迟迟不超时 很可能会话表会被塞满 导致不能建立新的会话 从而中断连接

注意 会话长连接推荐 细化区域 细化设备 不要将大部分设备都设为会话长连接 对网络会话的建立非常不利
以下是一个错误的演示:

seq name dzone szone server user time active 
any any  any   any   any    any  any  any

匹配到这个过滤器的设备会保持会话长连接 这会导致所有设备的会话都会被保持在会话表中 对正常业务出现影响

案列三:
会话不及时更新导致业务短时间不生效
由于安全设备是根据会话表转发数据的 策略下发后 只对新建立的会话生效 旧的会话不能使策略生效 所以在添加新的策略后 建议对会话表做一个刷新
或者等待会话老化后 新的策略会生效

源NAT

案例一:
地址池与出口非同一网段导致出现环路
当防火墙的漂浮地址与防火墙出口地址不是一个网段时 且用户刚好要访问漂浮地址时
会导致内网数据包通过一个缺省转发到公网的isp 此时做了nat 源地址为防火墙的漂浮地址 isp收到后发现目标为防火墙 将数据传递给防火墙 防火墙读入数据后 并没有到达漂浮地址的路由 形成环路
image

posted @ 2024-08-13 17:26  f0r9  阅读(6)  评论(0编辑  收藏  举报