最近,我已经开始着手我的新python项目,在这个项目中,我希望包含一些获取ip地址并将其转换为netbios名称的内容,因此,通过使用scapy,我尝试执行以下代码:
高级(Ether()/ IP(flags=0x02,dst = '10.0.0.0') / UDP(sport=RandShort()) / NBNSQueryRequest(NAME_TRN_ID=0x8228,QUESTION_NAME= '*',问题类型=‘NBSTAT’)
但到目前为止还没有成功……
有人知道如何使这件事成功吗?
发布于 2018-01-29 17:35:19
我在代码中看到的第一个错误是,您正在使用sr() ,而提供了Ether层。您可以使用srp(),也可以让Scapy处理Ether层。
另外,由于您只期望一个数据包,所以可以使用sr1()或srp1()返回它得到的第一个答案。
而且,你的目标可能是网络IP,而不是主机IP。下面是一些你可以尝试的东西:
sr1(IP(dst='10.0.0.1') /
UDP(sport=RandShort()) /
NBNSQueryRequest(NAME_TRN_ID=0x8228, QUESTION_NAME= '*', QUESTION_TYPE='NBSTAT'))https://stackoverflow.com/questions/48479848
复制相似问题