2024-04-26 11:07:47 发布
网友
是否可以用Python(或任何编程语言)查看同一网络上的其他设备?
编辑:为了澄清,我想做的(刚开始)是显示一个连接的设备及其本地IP地址的列表。所以在我的路由器上,它会显示信息:
家庭电脑,192.168.1.2 笔记本电脑,192.168.1.3
我想找回这些信息。
你到底想干什么?
nmap是扫描网络的一个非常常见的工具,看起来您想要这样做。还有一个python-nmap包,可以让您轻松地直接从Python中使用nmap。
nmap
请详细一点,这样我们可以给你一个更好的答案,干杯。
如果你不介意使用一个小的第三方软件,你可以使用Netresview在windows系统上运行良好,避免重新发明轮子和所有这些。你可以做这种事。
os.system('NetResView.exe /DisplayComputers 1 /RetrieveIPAddresses /stext ipfile') my_file = open('ipfile') for line in my_file : print myfile.readline()
你有几个选择。
您可以在整个网络地址空间中运行端口扫描,但这非常浪费而且不友好。我不推荐。
更好的方法是使用诸如DNS-SD/Zeroconf(又称Bonjour)的服务发现协议查询设备。大多数Linux和Mac系统都会响应,许多网络打印机和其他网络设备也会响应。Windows系统不附带DNS-SD代理,但可以安装一个。
DNS-SD的纯python实现是available here。我在Linux、MacOS和Windows上使用过它。
如果你喜欢微软的方法,你可以尝试一下UPnP的发现特性,尽管我不能保证它有多好的工作或者有多少系统会响应。
你到底想干什么?
nmap
是扫描网络的一个非常常见的工具,看起来您想要这样做。还有一个python-nmap包,可以让您轻松地直接从Python中使用nmap。请详细一点,这样我们可以给你一个更好的答案,干杯。
如果你不介意使用一个小的第三方软件,你可以使用Netresview在windows系统上运行良好,避免重新发明轮子和所有这些。你可以做这种事。
你有几个选择。
您可以在整个网络地址空间中运行端口扫描,但这非常浪费而且不友好。我不推荐。
更好的方法是使用诸如DNS-SD/Zeroconf(又称Bonjour)的服务发现协议查询设备。大多数Linux和Mac系统都会响应,许多网络打印机和其他网络设备也会响应。Windows系统不附带DNS-SD代理,但可以安装一个。
DNS-SD的纯python实现是available here。我在Linux、MacOS和Windows上使用过它。
如果你喜欢微软的方法,你可以尝试一下UPnP的发现特性,尽管我不能保证它有多好的工作或者有多少系统会响应。
相关问题 更多 >
编程相关推荐