如何监听已经被占用的端口(假设是 888,大家发发发)

2022-09-15 14:29:35 +08:00
 unt
nc 应该监听不了,显示绑定失败。
windows 下用 Socket Tool 监听,没有报错,netstat 查出来有两条记录:
1. ****:888 java.exe
2. 内网 ip:888 socket tool.exe
那这究竟算不算监听成功,因为我用客户机往它发消息它并没有收到。


另外 linux 服务器如何监听已被占用的 UDP 端口
1312 次点击
所在节点    问与答
5 条回复
wudicgi
2022-09-15 14:36:33 +08:00
pcap 抓包?
villivateur
2022-09-15 14:38:51 +08:00
linux 有一个 tcpdump 的工具,但 udp 不知道行不行
pcmid
2022-09-15 15:44:01 +08:00
linux 可以使用 SO_REUSEPORT 来监听同一个端口,不过可能不符合 op 的要求,请求会被负载均衡到每一个 fd 上
cubecube
2022-09-15 15:45:01 +08:00
@villivateur 可以得,tcpdump 是直接在 3 层监听的
dilu
2022-09-15 16:21:46 +08:00
你说的这个不算监听成功,因为一个 socket 链接是一个五元组,即源 ip 源端口 协议 目的 ip 目的端口

你的两个端口看似一样,但是源 ip 不一样

你可以同时在 127.0.0.1:8080 和 0.0.0.0:8080 上监听,但是这两个不是同一个 socket 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/880259

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX