gpt4 book ai didi

C 使用 Open Server 在 LAN 上查找计算机

转载 作者:太空宇宙 更新时间:2023-11-03 23:38:38 25 4
gpt4 key购买 nike

我试图找出一种方法,让一个用户在他们选择的端口上打开服务器,并让同一 LAN 上的用户能够看到该服务器,而无需手动输入 ip 和端口。想象一下,当你打开一个 minecraft 局域网服务器时,局域网上的人可以看到服务器,即使他们从来没有输入 ip,而且每次端口都不一样。有没有办法在 Linux 上使用伯克利套接字 API 和 TCP 套接字在 c 中执行此操作?

最佳答案

有很多文章介绍如何使用 Unix 内置扫描局域网中的其他主机。

您可以使用 ifconfig 找到您自己的 IP 地址和网络,如 this article .

使用 nmap 之类的命令获取 LAN 上的 IP/主机名列表是一项简单的任务。 ,然后对输出进行排序。

这是一个例子:

sudo nmap -sn 10.84.32.54/24 | grep -Po "(\d{1,3}\.){3}\d{1,3}"

这将返回您网络上的 IP 地址列表,例如:

10.84.32.1
10.84.32.11
10.84.32.12
10.84.32.14
10.84.32.17

然后您可以通过运行以下命令扫描这些端口上的每个端口:

nmap -p- 10.84.32.1

得到如下输出:

PORT     STATE SERVICE
22/tcp open ssh
2581/tcp open unknown
2443/tcp open unknown

关于C 使用 Open Server 在 LAN 上查找计算机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51956322/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com