EDI通信中常用的网络排查方法

news2025/1/17 23:19:00

在知行之桥EDI系统运维工作中不可避免会碰到各种网络问题,本文将分享一些我们运维同事常用的一些网络问题排查定位方法,帮助大家快速的定位原因,解决通信问题。

1.Ping:
作用:ping用于确定本地主机是否能与另一台主机成功交换数据包,再根据返回的信息,可以判断TCP/IP参数是否设置正确,以及运行是否正常,网络是否通畅。
命令:ping IP/域名
以访问百度为例,以下ping结果表示连接百度网站正常,网络通畅。
在这里插入图片描述
2.Telnet
作用:远程登录目的主机,这里主要用来确认交易伙伴服务器开放的端口我们是否可以访问。
命令:telnet IP/域名 端口
(1)Windows服务器
在这里插入图片描述执行telnet命令,按下回车键后,结果如下图表示连接成功:
在这里插入图片描述
(2)Linux服务器
执行telnet命令,按下回车键后,结果如下图表示连接成功:
在这里插入图片描述
退出telnet方式:ctrl+],输入quit退出
在这里插入图片描述
3.直接访问交易伙伴的URL
如果使用的是AS2协议,可以直接在浏览器中访问下对方的URL,示例:交易伙伴的URL是https://192.168.0.117:8081/pub/Receive.rsb
(1)Windows服务器:
直接在浏览器中进行访问,以下页面表示访问知行之桥接收地址成功,具体的反馈信息根据交易伙伴的服务器端的设置为准,比如直接显示Success.
在这里插入图片描述
(2)Linux服务器
执行命令:wget url
在这里插入图片描述
注意:如果交易伙伴使用的是https,可以加上–no-check-certificate跳过对SSL证书的验证,即wget --no-check-certificate url

4.Tracert
作用:路由跟踪,一般用来确定IP数据包访问目标时所选择的路径,它主要检查网络连接是否可达,以及分析网络什么地方发生了故障。
命令:
(1)Windows服务器
tracert IP/域名
在这里插入图片描述
(2)Linux服务器
traceroute IP/域名
在这里插入图片描述
5.抓包
抓包主要通过抓取网络数据包,然后最大限度分析出网络数据包的详细的资料,从而分析网络中的丢包情况,进行网络故障分析。以下是运维团队常用的抓包方法:
(1)Windows服务器
Windows服务器可以使用常见的wireshark工具进行抓包并进行结果分析
在这里插入图片描述
(2)Linux服务器
tcpdump命令:tcpdump -i 网卡 port 端口号 -w 保存文件目录及文件名
其中:网卡为指定网卡,any表示监听所有网卡;文件名后缀为.pcap,抓包的结果可以用wireshark来进行分析。
在这里插入图片描述
常见的网络问题原因:

1.端口未开放
2.防火墙限制
3.有一些特殊的安全策略、路由设置
4.网络运营商更改了网路设置,导致通信失败
5.云服务器升级或者更新调整,导致配置更改,通信失败

案例分享:

1.前段时间,运维团队有处理过一个这样的网络问题:
问题: 客户A、客户B、客户C都与交易伙伴D进行AS2直连,客户A可以正常给交易伙伴D发送数据,客户B、客户C项目开始时都可以正常给D发送数据,但是某一天突然发送数据失败,发送数据时报错:SendFile Failed: Remote host disconnected during SSL negotiation.或者Timeout.

排查过程: 首先,报错信息明显显示是连接D服务器失败,B和C在EDI服务器上执行telnet、tracert命令失败,应该是D这边做了限制,但是联系D后,D反馈他们没有做任何限制,所有客户都可以连接,并让B和C排查自己的网络;
之后,B和C经过技术人员的排查,他们网络都是没有问题。
针对相同的问题,我们运维团队将B和C使用的服务器、服务器IP归属区域、网络运营商等信息进行了对比,发现他们都使用的阿里云服务器,于是在本地申请了阿里云、华为云、Azure云服务器进行测试telnet、tracert、使用postman发起post请求等测试,发现阿里云服务器连接D失败,华为云和Azure云服务器则没有问题,此时便基本可以确定是阿里云服务器的问题,和阿里云客服确认后推测应该是D对阿里云服务器的IP段进行了限制,之后和D确认确实如此,将B和C的IP提供给D后,D取消限制后便解决了问题。

2.EDI通信中最常见的是双方网络连接是正常的,但是在文件传输中会偶尔出现文件传输失败的情况,这种常常是因为网络不稳定造成的,遇到这种情况知行之桥会自动重发失败的数据,不需要在EDI中修改任何操作,常见的一些网络不稳定的报错如下:
Connection failed: 由于目标计算机积极拒绝,无法连接。 XXX.XXX.XXX.XXX:XXXX
Remote host disconnected during SSL negotiation.
无法打开连接:Timeout.
Error during handshake: 为验证提供的消息或签名已被更改 (0x8009030F)
Cannot send response: 企图在不存在的网络连接上进行操作。

如果网络不稳定比较频繁您可以优化您的网络,或者您可以租用与交易伙伴同一时区的云服务器来改善,或者可以设置网络代理来避免。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/10055.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

shell脚本下用plot给iostat和CPU的采样画图的写法

目前大多的互联网客户,在导入SSD之前,基本会要求OEM或者SSD厂商提供一些性能数据图,所以 作图也基本成了测试人员的必备技能,单盘的性能可以用Excel表格导入,但是复杂的可能会比较麻烦。就需要我们借助工具来作图了。 本篇文章简单…

第9章 Apache-Dbutils实现CRUD操作

1. Apache-DBUtils简介 *commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序的性能。 *API介绍: org.…

java和vue的大学生奖学金助学金系统奖学金系统助学金系统

简介 大学生奖学金助学金系统。学生申请自己需要的奖助学金,上传证明材料。该学院的辅导员可以下载学生的证明材料以及根据学生的综合成绩来审核是否通过,若不通过请输入不通过原因。管理员可以导入学生excel和辅导员excel以及学生综合成绩excel、分布公…

鲲鹏代码迁移工具介绍

鲲鹏代码迁移工具介绍 代码迁移工具介绍 代码迁移工具是什么? ✨我们为什么会需要用到代码迁移工具? ✨处理器所支持的指令集不同,意味着开发者可能需要对代码进行跨平台的迁移。 这里我们常见到便是x86平台的代码往arm平台进行迁移 通常…

主流组件库学习

主流组件库差异性对比 NutUI - 京东研发的移动端 UI 组件库,支持 Vue3、Taro 多端适配,面向电商业务场景Vant - 有赞研发的移动端 UI 组件库,支持 Vue3、微信小程序、支付宝小程序TDesign Mobile - 腾讯研发的移动端组件库,适合在…

Redis第二章_实战篇_短信登录+缓存策略+秒杀+分布式锁>>

Redis第二章_实战篇_短信登录缓存策略秒杀分布式锁>> 文章目录Redis第二章_实战篇_短信登录缓存策略秒杀分布式锁>>开篇导读1、短信登录1.1、导入黑马点评项目1.1.1 、导入SQL1.1.2、有关当前模型1.1.3、导入后端项目1.1.4、导入前端工程1.1.5 运行前端项目1.2 、基…

Spring(十一)- Spring Bean的依赖注入注解

文章目录一、Spring Bean的依赖注入注解1. 通过Value直接注入普通属性2. 通过Value注入properties文件中的属性3. Autowired注解,用于根据类型进行注入4. Qualifier配合Autowired可以完成根据名称注入Bean实例,使用Qualifier指定名称5. Resource注解既可…

三款Zookeeper可视化工具、ZooInspector、prettyZoo、ZooKeeperAssistant

三款Zookeeper可视化工具、ZooInspector、prettyZoo、ZooKeeperAssistant①Zookeeper图形化工具:ZooInspector1.下载完后,解压压缩包,进入zookeeper-dev-ZooInspector.jar目录后执行run jar包命令2.登录客户端:输入zk服务的ip和端…

XCTF1-web disabled_button weak_auth view_source cookie backup

一个不能按的按钮 题目描述 X老师今天上课讲了前端知识,然后给了大家一个不能按的按钮,小宁惊奇地发现这个按钮按不下去,到底怎么才能按下去呢? 进入场景 题目提示为前端设置的问题,查看网页源码,定位…

Django + Nginx https部署实战(第二辑)

如何使用Nginx把网站升级为Https? Https是Http协议的升级版,由于证书的引入,使得用户与网站之间的通讯变得更加安全。 在使用https之前,我们必须了解的事情 证书颁发机构 证书颁发机构是一家知名且受信任的组织,它对网…

基于MMDetection训练VOC格式数据集

一 环境说明 基于前述安装MMDetection,数据集为VOC格式,主要版本如下: Python:3.7.8 CUDA:11.3 cuDNN:8.4.0 torch:1.12.0 torchvision:0.13.0 mmcv-full:1.6.0 MMDetec…

机器学习极简入门笔记-5-无监督学习-K-means

目录 第17章 KNN算法(有监督学习算法,放在此位置是为了与下一章的K-means做对比) 17.1 KNN算法原理 17.2 KNN中的K 第18章 K-means——最简单的聚类算法 18.1 K-means算法步骤 18.2 K-means算法具体细节 18.3 启发式算法 18.4 K-mean…

介绍a股level2数据接口委托队列的作用

a股level2数据接口可以实现量化交易的准确性,那用户在交易的过程中会发现在“委托队列”中,如果出现一些有规律性的单子,往往是主力之间的盘口暗语。 例如排在靠前的都是大单,封单相当坚决,如果细心一点还会发现都是拖…

Spring Security 自定义拦截器Filter实现登录认证

前言 需求来源: 微信小程序获取授权码code, 通过授权码code, 获取微信用户信息(比如openid,unionId), 并记录登录状态(比如token信息的获取); 原本打算使用Spring Security中OAuth2.0的机制 实现用小程序登录,发现小程序再已经获取授权码code登录流程和Spring Secu…

Intellij插件之~图形界面Swing UI Designer

资料 Java Swing 介绍 JavaFX快速入门 Java Swing 图形界面开发简介 GUI Designer Basics scrcpy ScrcpyController Services 创建一个Gui Form文件(类form文件) 创建一个Gui Form 此时生成两个类, 是自动关联的 鼠标可以拖入控件,每拖入一个组件,在TestForm…

领悟《信号与系统》之 信号与系统的描述-下节

信号与系统的描述-下节一、信号的基本运算1. 信号的基本运算1. 加法 、减法2. 乘法、除法3. 微分 、差分4.积分、迭分2. 关于时间(自变量)的运算1. 位移2. 反折3. 尺度变换二、阶跃信号与冲激信号1. 单位阶跃信号2. 单位阶跃信号的特性3. 单位冲激信号4.…

Android架构师学习必备学习宝典《Android架构开发手册》

吐槽 我想每个程序员在写代码的时候可能都有这些历程(夸张): 这坨代码谁写的,怎么要这样写啊,我这个需求该怎么加代码!(尝试在shit山上小心地走,并添加新代码)写的好难受,shit越改越chou了…算了&#xf…

协程设计原理

文章目录1、协程的背景1.1、同步与异步1.2、为什么使用协程1.3、协程的适用场景2、协程的原语操作3、协程的切换3.1、汇编实现4、协程的定义4.1、多状态集合设计4.2、调度器的定义4.2、调度策略生产者消费者模式多状态运行5、api 封装5.1、hook 机制5.2、hook 函数原型5.3、hoo…

React笔记——github案例(用到axios 和 pubsub)

案例github用上脚手架配置代理 1.完成静态页面构建 小技巧:先在原html页面搜索最外侧框 是否有样式存在,如果样式不存在则不需要剪切过去 给需求或效果分好组件,分别是 Search 和 List 、App 组件 class都改为 className 给图片添加上特定…

JS高级(二):继承、数组的一些api、Object.defineProperty()、call、apply、bind

JavaScript高级(二)一、继承1.call方法改变this指向2.构造函数中模拟类的super实现属性继承3.构造函数借助原型对象实现方法继承4.类的本质二、ES5几个新增方法1.数组forEach()2.数组filter()3.数组some()4.字符串trim()三、Object.definProperty()四、改…