使用python发送nbns协议包,获取同一局域网下其它电脑的名称
时间: 2023-02-02 20:40:29 浏览: 149
获取局域网计算机名称和IP
3星 · 编辑精心推荐
可以使用Python的第三方库如socket、scapy等发送NBNS协议请求,以获取同一局域网下其他电脑的名称。下面是一个使用scapy的简单示例:
```
from scapy.all import *
def get_host_name(ip):
ans, unans = sr(IP(dst=ip)/UDP(sport=RandShort(), dport=137)/NBNSQueryRequest("WORKGROUP<00>"), verbose=0)
for sent, received in ans:
if received.haslayer(NBNSQueryResponse):
return received.getlayer(NBNSQueryResponse).NAME[:-1].decode("utf-16")
host_name = get_host_name("192.168.0.255")
print(host_name)
```
请注意,此示例仅供参考,你可能需要根据实际情况进行修改。
阅读全文