linux – 如何在scapy中发送多个数据包
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – 如何在scapy中发送多个数据包,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1436字,纯文字阅读大概需要3分钟。
内容图文
我知道之前有人问过这个问题.但是我不清楚如何构造命令以完成我的任务,而前一个问题从未标记为已回答.我需要使用scapy发送多个数据包,我的用例是使用UDP将DNS查询发送到远程服务器服务器.这是我需要使用的命令:
sr1(IP(dst="192.168.155.128")/UDP()/DNS(rd=1,qd=DNSQR(qname="www.oreilly.com")))
在上面的示例中,sr1表示在第3层发送数据包,但有更多的函数定义要发送数据包.请参阅Here. 括号之间的其余部分是如何使用scapy为DNS记录组装DNS查询数据包.
但我想要做的是在一个命令中发送多个数据包.上一个问题有一个建议的答案:
sendp(p, iface=eth0, inter=1 , count=x )
其中p是您的数据包或数据包列表,count是重复发送操作的次数.
这是我迷失的地方.如果这是正确答案,我将如何将其整合到我的命令中,它会是什么样子?
提前致谢!
解决方法:
工作解决方案:在上面的示例中,您将需要使用不同的函数定义来发送数据包.
将sendp替换为send,(sendp在layer2发送,send使用第3层,sr1设计为仅发送一个数据包)并在最后两个结束括号之间放置“,count = x”.其中x =您要发送的数据包数.从scapy提示符运行命令和输出应如下所示:
>>> send(IP(dst="192.168.155.128")/UDP()/DNS(rd=1,qd=DNSQR(qname="www.oreilly.com")), count=100 )
....................................................................... .............................
Sent 100 packets.
>>>
也可以构造一个简单的ICMP包也可以发送.在这个例子中,我们发送100个ICMP数据包.
>>> send(IP(dst="192.168.155.128")/ICMP()/"testICMPpacket", count=100 )
....................................................................... .............................
Sent 100 packets.
>>>
内容总结
以上是互联网集市为您收集整理的linux – 如何在scapy中发送多个数据包全部内容,希望文章能够帮你解决linux – 如何在scapy中发送多个数据包所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。