多线程nc扫描器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
from pwn import *
import threading
context(arch='amd64', log_level='debug', os='linux')

def thread_function(portstart, keyword, cishu, timeout,pinglv):
rec = ''
for j in range(cishu):
try:
p = remote("ctf.qwq.cc", portstart + j * pinglv, timeout=timeout)
sleep(0.1)
t = p.recvline(timeout=timeout)
rec=t
except:
continue
pass
print(rec)
if rec != b'':
with open("ports_of_cc2" + ".txt", 'a+') as f:
f.write("ports:"+str(portstart + j * pinglv)+ str(rec)+'\n')
f.close()


pinglv = 5000 # 这里是pl,可以自定义
keyword = b'.'
start_port = 10000
end_port = 20000

cishu = (end_port - start_port) // pinglv

threads = []
# 循环创建并启动线程
for i in range(0, pinglv):
thread = threading.Thread(target=thread_function, args=(start_port+i, keyword, cishu,5,pinglv))
threads.append(thread)
thread.start()

# 等待所有线程结束
for thread in threads:
thread.join()