网络连通性测试-防甩锅套路

一、前言

为什么要写这个东西呢?怎么涉及到甩锅呢?说白了就是在各种对接过程中,总会遇到一些喜欢甩锅的人,说是你的问题,什么网络没毛病,是你的接口什么的不对,总之就是你的问题~ 这时候什么最爽? 一堆数据加截图打脸上细声慢语说自己错了才是(滑稽

二、网络排查

虽然说爽,但是基础的问题好好沟通就好,所以还是需要定位一些简单的问题内容

1、ping

基础的连通性测试,这个应该不必多说

2、telnet

用于测试双方的端口连通性,可以考虑从A到B和B到A都试一次

#参数内容   ip ip地址 、 port  端口号呀
telnet {{ip}}  {{port}}

Tips: 值得注意的是,如果是windows系统,可能需要手动操作

以下是开启Telnet服务的步骤:

2.1、 打开控制面板:点击“开始”菜单,在搜索栏中输入“控制面板”,然后点击打开。

2.2、 安装Telnet客户端:在控制面板中选择“程序”,然后点击“启用或关闭Windows功能”,在弹出的对话框中找到“Telnet客户端”,勾选它,然后点击“确定”按钮。

3、check firewall

检查防火墙也是一个基操,避免说你怎么不关注下防火墙问题(ps:虽然这个应该也是早期沟通需要让其开放的内容之一)

linux:

这个主要是两个防火墙比较多,再多的话可能要咨询管理员,也就是超出本次范围的基本排插咯

(1)iptables

当然第一步看是否开启:sudo systemctl status firewalld

通过 iptables -L 可以轻松查看所需的端口对所需的主机是否开启

可以直接通过 sudo nano /etc/sysconfig/iptables 操作的,

更新完后记得 sudo nano /etc/sysconfig/iptables 让配置生效

#参数内存  protocol: tcp/udp两个协议选其一、 port:端口号
#若为配置文件配置时,通常只有1、2两个编号的规则,删除前面的命令 iptables 即可

#1、为全部 特定协议(tcp/udp)开放特定端口
iptables -A INPUT -p {{protocol}} --dport {{port}} -j ACCEPT

#2、特定ip 设定
iptables -A INPUT -p {{protocol}} --dport {{port}} -j ACCEPT -s {{ip}}

#3、删除特定编号的内容,比如所需删除的规则通过 -L查出来了,可以根据编号删除
iptables -D INPUT 2

#4、爆破玩法,删除所有规则
iptables -F

不过建议在编辑之前备份一下

iptables-save > /path/to/backup/file
#上述命令将现有的iptables规则保存到指定文件中,可以在需要恢复时使用以下命令:
iptables-restore < /path/to/backup/file
(2)firewalld

查看状态 sudo systemctl status iptables

通过 firewall-cmd --list-allrich rules可以查看所需的端口对所需的主机是否开启,

可以直接通过 sudo nano /etc/firewalld/firewalld.conf 操作的,

更新完后记得 sudo firewall-cmd --reload 让配置生效

#参数内存  protocol: tcp/udp两个协议选其一、 port:端口号
#这部分内容,我还是觉得使用命令比较合适,当然也可以修改配置 FirewallDialect=iptables 来直接走iptables那套规矩

#增加一条内容
sudo firewall-cmd --add-port={{port}}/{{protocol}} --permanent
#删除一条内容
sudo firewall-cmd --remove-port={{port}}/{{protocol}} --permanent

#备份内容
sudo firewall-cmd --direct --get-all-rules > ./firewalld_rules

windows:

以下是在Windows Server系统中设置防火墙的步骤:

3.1、 打开“Windows Defender防火墙”:点击“开始”菜单,在搜索栏中输入“Windows Defender防火墙”,然后点击打开。

3.2、 配置入站规则:在左侧面板中选择“高级设置”,在“入站规则”中选择“新建规则”,然后按照向导提示进行配置。常见的入站规则包括允许某个端口的流量通过、允许某个应用程序的流量通过、允许某个IP地址或IP地址段的流量通过等。

三、抓包分析

通常到这步,就是无法通过第二步来分析解决出问题,这时候,就需要抓包来操作反甩锅~ 当然也可说是说服

前置工具: wireshark (windows)、tcpdump

(1)选择监视的网卡抓包

通常单网卡的一般名称就为 eth0 ,当然我们也可以通过访问的ip判断,实在不行就一个个来~

#整体上的命令
#参数内容  netcard 网卡名称、ip ip地址 、fileName 文件名

#直接监听整个网卡,偷懒也可以,但是就是折腾自己,比较容易分散目标
sudo tcpdump -i {{netcard}}  -w {{fileName}}.pcap

# 特定网卡来自特定ip的数据包
sudo tcpdump -i {{netcard}} host {{ip}}  -w {{fileName}}.pcap

(2) 读取解析数据包

①怎么来怎么读

# 直接读取全部内容
tcpdump -r {{fileName}}.pacp

# 过滤数据包中特定ip地址的内容,-c 数字,前N个数据包
tcpdump -r {{fileName}}.pacp host {{ip}}  -c {{n}}

②利用wireshark 工具

利用刚才的文件 *.pacp ,打开wireshark

下列的常用状态码:

  1. [SYN]: 表示 TCP 连接的开始标志。
  2. [FIN]: 表示 TCP 连接的结束标志。
  3. [RST]: 表示 TCP 连接已重置的标志。
  4. [ACK]: 表示 TCP 包确认收到数据的标志。
  5. [PSH]: 表示 TCP 包应立即推送到接收应用程序的标志。
  6. [URG]: 表示 TCP 包包含紧急数据的标志。
  7. [ECE]: 表示 TCP 包正在使用显式拥塞通知(ECN)机制的标志。
  8. [CWR]: 表示 TCP 包正在确认收到拥塞控制消息的标志。
  9. [ICMP]: 表示包是 Internet 控制消息协议(ICMP)包的标志。

1、例如我这里请求了一个基础的接口,是走tcp方法的

在这里插入图片描述

2、过滤其中的tcp/udp 流 ,通常可以右键有通用的过滤规则

1、右键所需追踪的一条数据链 —> 追踪流 —> TCP 流

2、过滤规则:(tcp流) tcp.stream eq 0

过滤出其中一条,比如time 为0.006411的
在这里插入图片描述

可以清晰的看到3次握手处理,然后向212.92发送一个报文内容,然后3.210就重置了请求,导致整个请求失败的一个过程。

通常我们需要在正常的环境中,过滤一次,作为参照组来表达我们的意见。

上图正是我遇到客户环境限制了http请求导致的,仅允许https的请求才可以发送内容报文

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值