Netbios 名称查询不起作用

问题描述 投票:0回答:1

最近我开始研究我的新 python 项目,我想在其中包含一些需要 IP 地址并将其转换为 netbios 名称的内容, 因此,通过使用 scapy,我尝试执行以下代码:

sr(Ether() / IP(flags=0x02, dst = '10.0.0.0') / UDP(sport=RandShort()) / NBNSQueryRequest(NAME_TRN_ID=0x8228, QUESTION_NAME= '*', QUESTION_TYPE='NBSTAT') )

但到目前为止还没有成功......

有人知道如何进行这项工作吗???

python windows python-2.7 scapy netbios
1个回答
0
投票

我在您的代码中看到的第一个错误是您正在使用

sr()
提供
Ether
层。您可以使用
srp()
,或者让 Scapy 处理
Ether
层。

此外,由于您只期望一个数据包,因此您可以使用

sr1()
srp1()
来返回它得到的第一个答案。

而且,您的目标可能是网络 IP,而不是主机 IP。您可以尝试以下方法:

sr1(IP(dst='10.0.0.1') /
       UDP(sport=RandShort()) /
       NBNSHeader(NAME_TRN_ID=0x8228) /
       NBNSQueryRequest(QUESTION_NAME= '*', QUESTION_TYPE='NBSTAT'))
© www.soinside.com 2019 - 2024. All rights reserved.