详解netstat命令中Local Address和Foreign Address

本人在自己安装一些软件的过程中经常出现配置好了服务端,但却在本地用IP:PORT访问对应服务时显示拒接连接(前提是网络通畅且服务的防火墙设置正确),所以需要用到netstat命令排查网络问题,用该命令除了需要观察State字段为“LISTEN”状态时,还需要注意Local Address和Foreign Address 这两个重要属性。

  1. Local Address(本地地址)

    • 代表:这个字段显示了网络连接的本地端点的IP地址和端口号。换句话说,它表示你的机器上某个网络服务或应用程序正在监听或已经建立的连接的本地接口和端口。
    • 作用:通过查看本地地址,你可以知道哪些本地端口正在被使用,以及哪些服务正在运行。这有助于识别可能的端口冲突、了解服务配置是否正确,或者定位可能的安全风险。
  2. Foreign Address(外部地址)

    • 代表:这个字段显示了远程主机(即外部设备或服务器)的IP地址和端口号,表示与你的机器建立连接的对端。
    • 作用:外部地址可以帮助你了解哪些远程主机正在与你的机器进行通信。这对于监控网络流量、识别未经授权的访问尝试、诊断连接问题或评估网络安全状况非常有用。

比如以下我启动的hadoop服务中的Local Address显示为127.0.0.1:50070,这通常意味着相应的服务只绑定在了本地回环地址(loopback address)上。在这种情况下,外部客户端(即不在同一台机器上的客户端)将无法直接访问该端口,因为这个地址只允许本机上的进程进行通信。如果你希望外部客户端能够访问该服务,你需要将服务配置为绑定到机器的外部IP地址上,或者绑定到0.0.0.0,这表示接受任何IPv4地址的连接(即监听所有网络接口)。

Foreign Address该值通常为0.0.0.0:*,这通常表示本地服务正在某个端口上监听来自任何远程地址和端口的连接。这种情况通常出现在服务器应用程序上,它们等待并接受来自客户端的传入连接。

请注意,这里的0.0.0.0与前面提到的绑定地址的0.0.0.0有所不同。在绑定地址的上下文中,0.0.0.0意味着服务监听所有可用的网络接口。而在Foreign Address中,它表示接受来自任何地址的连接。

另外,如果你在查看一个已经建立的连接,Foreign Address通常会显示实际的远程客户端IP地址和端口号,而不是0.0.0.0:*。这种显示通常只出现在监听状态的套接字上。

  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值