Python-在运行相同应用程序的网络上获取计算机的IP地址和主机名

RPDeshaies

需要说明的是:2周前我才刚开始使用Python,但是我是C#,ASP,PHP,JavaScript开发人员。

我刚刚使用Python和PyQt启动了一个新项目,并且希望我的项目成为一台能够与其他计算机上的该服务器的其他实例进行通信的服务器。

因此,我需要获取计算机的IP地址和主机名。

首先,我考虑过使用MSDOS“ net view”命令,但这是在尝试执行此命令之前,我发现这可能需要大约15秒的时间(我认为这太慢了)。

我有这样的想法:https : //stackoverflow.com/a/15497083/1598891

同样,“ net view”命令可以返回不再在网络上的计算机,并在尝试通过主机名获取其IP地址时导致异常(这也使每次无法访问计算机的过程变慢)。

我的问题:是否有一种方法可以使本地计算机上的所有计算机的IP和主机名不经过net viewWindows传递,因为这net view可能会导致操作缓慢?

另外,有没有办法只获取正在运行我的应用程序的计算机?(这样会更快)

提前致谢

普拉哈拉德·德什潘德

如果要获取运行python脚本的主机的IP地址,则可以通过user2096338提供的答案

为了发现局域网内网络上的所有计算机,您可以使用scapyhttps://github.com/bwaldvogel/neighbourhood/blob/master/neighbourhood.py是我在浏览类似的SO问题时发现的链接发现网络(LAN)中的所有计算机。

如果要确保上述脚本仅返回正在运行服务器的计算机,则可以通过多种方式来实现,以下按可移植性顺序列出

  1. 无论何时将服务器安装在主机上,然后将其注册到中央数据库中,然后可以由服务的新实例查询该数据库,以标识运行对等服务器的所有计算机。
  2. 使用WMI(因为您在Windows上)查询对等系统上运行的所有进程,并检查您的服务器进程是否是其中之一。
  3. 您的服务器将保持打开探测端口,并且将为网络中的每个主机在该探测端口上对服务器进行ping操作。如果收到响应,则表明该计算机正在运行服务器进程。

在我看来,方法1是最安全和可移植的,因为它可以防止打开不必要的端口(如方法3),这些端口是安全漏洞(取决于您的python脚本运行的上下文)。它还不取决于远程主机上WMI服务的可用性(某些系统可能已禁用WMI)。

希望这可以帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

网络中的远程计算机无法访问Python Flask应用程序

来自分类Dev

如何从其主机名获取计算机的IP地址?

来自分类Dev

有没有办法为应用程序提供与Linux上的计算机主机名不同的特定主机名?

来自分类Dev

使用GUI分发计算机应用程序(Python)

来自分类Dev

使用GUI分发计算机应用程序(Python)

来自分类Dev

使用JAVA从网络上的IP地址获取主机名

来自分类Dev

从C ++中的主机名获取计算机名?

来自分类Dev

如何获取我在python中使用的计算机的专用IP地址?

来自分类Dev

查找原始计算机(ssh)的IP或主机名

来自分类Dev

Python脚本,仅使用主要实体收集IP地址的所有主机名

来自分类Dev

使用 python 从我计算机上的应用程序中提取值

来自分类Dev

启动网络应用程序以运行python

来自分类Dev

计算机速度和Python运行时

来自分类Dev

计算机速度和Python运行时

来自分类Dev

vRA Windows 计算机创建在移动到 Chef 配置程序块之前不会返回主机名/地址

来自分类Dev

我想在Python中与href标记分开获取主机名和路径

来自分类Dev

Python-IP到主机名脚本

来自分类Dev

如何在多个计算机的Vagrantfile中将VirtualBox的计算机名设置为与主机名相同?

来自分类Dev

计算机名称是可以指向IP的主机名吗?

来自分类Dev

如何在Python中获取标准主机名?

来自分类Dev

如何从计算机名称获取IP地址?

来自分类Dev

如何获取计算机名称(而不是其主机名)?

来自分类Dev

如何在运行时获取发送到HTTP触发的Azure函数的请求的IP地址或主机名?

来自分类Dev

NETBIOS,主机名和计算机名之间的区别?

来自分类Dev

Play框架:如何获取应用程序运行所在的主机名

来自分类Dev

通过VPN连接到网络时,按主机名在LAN中查找计算机

来自分类Dev

Python程序冻结计算机

来自分类Dev

如何在python pyramid应用程序中获取服务主机和端口?

来自分类Dev

如何使用IP地址获取网络上另一台PC的主机名?(批处理文件)

Related 相关文章

  1. 1

    网络中的远程计算机无法访问Python Flask应用程序

  2. 2

    如何从其主机名获取计算机的IP地址?

  3. 3

    有没有办法为应用程序提供与Linux上的计算机主机名不同的特定主机名?

  4. 4

    使用GUI分发计算机应用程序(Python)

  5. 5

    使用GUI分发计算机应用程序(Python)

  6. 6

    使用JAVA从网络上的IP地址获取主机名

  7. 7

    从C ++中的主机名获取计算机名?

  8. 8

    如何获取我在python中使用的计算机的专用IP地址?

  9. 9

    查找原始计算机(ssh)的IP或主机名

  10. 10

    Python脚本,仅使用主要实体收集IP地址的所有主机名

  11. 11

    使用 python 从我计算机上的应用程序中提取值

  12. 12

    启动网络应用程序以运行python

  13. 13

    计算机速度和Python运行时

  14. 14

    计算机速度和Python运行时

  15. 15

    vRA Windows 计算机创建在移动到 Chef 配置程序块之前不会返回主机名/地址

  16. 16

    我想在Python中与href标记分开获取主机名和路径

  17. 17

    Python-IP到主机名脚本

  18. 18

    如何在多个计算机的Vagrantfile中将VirtualBox的计算机名设置为与主机名相同?

  19. 19

    计算机名称是可以指向IP的主机名吗?

  20. 20

    如何在Python中获取标准主机名?

  21. 21

    如何从计算机名称获取IP地址?

  22. 22

    如何获取计算机名称(而不是其主机名)?

  23. 23

    如何在运行时获取发送到HTTP触发的Azure函数的请求的IP地址或主机名?

  24. 24

    NETBIOS,主机名和计算机名之间的区别?

  25. 25

    Play框架:如何获取应用程序运行所在的主机名

  26. 26

    通过VPN连接到网络时,按主机名在LAN中查找计算机

  27. 27

    Python程序冻结计算机

  28. 28

    如何在python pyramid应用程序中获取服务主机和端口?

  29. 29

    如何使用IP地址获取网络上另一台PC的主机名?(批处理文件)

热门标签

归档