python怎样获取连接的IP的设备信息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python怎样获取连接的IP的设备信息相关的知识,希望对你有一定的参考价值。

就是想通过扫描某一网段内所有IP来发现非计算机设备,例如打印机,相机之类的。
相机是专业抓拍和录制车辆违章的,自带处理模块,可以拥有IP地址

以前是有这样的工具,它会通过常用协议去刺探设备类型。比如windows的版本,计算机名等。现在不知道还有没有这样的工具,搜索一下看。

哦。这个应该相当容易了。因为相机是专业设备。所以通常会有一个控制协议。因为是专业的,所以这个socket应该是加密的。 你只需要连接上后,随便发一个命令,如果被断开。很可能就是这个相机了。

另外相机通常都是有MAC地址的。如果你发现它在你预计的MAC地址范围内,也可以知道是它。 相机是专业抓拍的。通常不会放在互联网上,应该是局域网。你可以排除局域网上的其它计算机,自然了也就知道哪些是相机了。

这些都不是难题。你首先扫描所有的IP地址。再扫描它们的端口数量。如果端口数量多通常是计算机,如果端口只有1-2个就是专业设备。扫描不到的,应该就是计算机啦。

试试,并不难。
参考技术A 好奇。
我知道有的打印机是可以配置Ip地址的,相机现在也可以支持TCP/IP协议了?

python 获取本机 IP

原文 

通过 UDP 获取本机 IP,目前见过最优雅的方法

这个方法是目前见过最优雅获取本机服务器的IP方法了。没有任何的依赖,也没有去猜测机器上的网络设备信息。

而且是利用 UDP 协议来实现的,生成一个UDP包,把自己的 IP 放如到 UDP 协议头中,然后从UDP包中获取本机的IP。

这个方法并不会真实的向外部发包,所以用抓包工具是看不到的。但是会申请一个 UDP 的端口,所以如果经常调用也会比较耗时的,这里如果需要可以将查询到的IP给缓存起来,性能可以获得很大提升。

# 在 shell 中可以一行调用,获取到本机IP
python -c "import socket;print([(s.connect((‘8.8.8.8‘, 53)), s.getsockname()[0], s.close()) for s in [socket.socket(socket.AF_INET, socket.SOCK_DGRAM)]][0][1])"
10.12.189.16

# 可以封装成函数,方便 Python 的程序调用
import socket
 
def get_host_ip():
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
        s.connect((8.8.8.8, 80))
        ip = s.getsockname()[0]
    finally:
        s.close()
 
    return ip

 

以上是关于python怎样获取连接的IP的设备信息的主要内容,如果未能解决你的问题,请参考以下文章

php怎样获取客户端电脑物理地址

iOS swift 获取设备连接的WiFi的信息

在 Python 中查询连接的 USB 设备信息的简单方法?

js怎样获取移动设备信息

从连接的服务器获取本地设备 IP

怎样清除远程桌面连接留下IP地址信息