我想发送一个损坏的NetBIOS会话服务数据包到我的机器,我的目标是检查我的机器是否重新启动或接收到损坏的NetBIOS数据包(以前发生过,我想重现相同)。
我正在使用scapy这是一个python工具build立一个连接到139端口的机器,然后我发送一个NBTSession()数据包到机器。
在wireshark跟踪中,我看到会话已build立,但是当我尝试使用NBTSession()层发送数据包时,wireshark跟踪显示了它的NBSS延续消息 。
from scapy.all import * def nbt_func(): nb=NBTSession(TYPE=0x81,RESERVED=10,LENGTH=2000) rnb=Raw(nb) s=socket.socket() s.connect(("10.62.147.30",139)) ss=StreamSocket(s,Raw) s.sr1(rnb) if __name__ == "__main__": nbt_func()
不知道为什么会发生这种情况,还是有其他方法可以复制这个问题?
我在NBTSession()字段中给出了一些随机值,因为我认为给出错误的值意味着破坏了数据包。
谢谢您的帮助。
损坏的软件包没有完全格式化在第5层以上:)它甚至可能是一个损坏的IP头,所以你不能使用高级库创build一个损坏的软件包。
可以build议的一个好方法是使用netcat连接到服务器,并从/ dev / urandom发送一些垃圾:
cat /dev/urandom | nc 10.62.147.30 139