首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有安装或启用防火墙:什么阻塞了特定的端口?

没有安装或启用防火墙:什么阻塞了特定的端口?
EN

Ask Ubuntu用户
提问于 2019-04-30 11:13:26
回答 1查看 789关注 0票数 0

我编写了一个小型C程序,它实现了基于libmodbus库的Modbus主程序和从服务器程序。这个程序安装在一个Ubuntu16.04.6LTS系统(A)上,运行非常好。

如果我将我的程序的一个实例作为Modbus从本地启动,我可以从另一个作为Master运行的实例在本地轮询它(target = localhost:502)。但是,如果我尝试从同一网络上的另一个设备(B)轮询从另一个设备(B)获得的从服务器,我将得到“无法连接到TCP端口。端口关闭”。

  • 我很确定端口不是关闭的,而是阻塞的,因为如果它关闭了,我也不能在localhost上使用它,对吗?
  • 因此,问题是:什么是阻塞Ubuntu系统上的502端口?ufw甚至没有安装。安装它并允许连接到tcp/502并不能解决这个问题。
  • 网络的路由器也不应该是问题的根源,因为另一个Modbus从设备(C)可以从网络内外的端口502上轮询。

编辑

EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2019-04-30 12:06:21

在OP的情况下,使用netcat进行调试表明,问题不在网络中,也不在运行侦听进程的Ubuntu系统中。具体来说,可以从localhost访问从进程,但不能从同一网络中的另一个主机。

因此,问题必须在编码中解决。结果,套接字被绑定到本地主机地址(127.0.0.1),而不是IP地址。通过该接口从网络到达的数据包将永远无法到达侦听过程。

票数 4
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1139380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档