masscan结合python快速枚举批量主机端口

还记得当时360电话面试的时候,问我互联网上最快的扫描器是什么,我回答的zenmap?

最近渗透测试的实习,给了很多主机,记录一下。

python去重

1
2
3
4
5
6
7
8
9
ips = []
write_ips = open('ips.txt','a')
with open('1.txt') as f:
for line in f:
ips.append(line)
clear = list(set(ips))
for i in clear:
write_ips.write(i)
print len(clear)

获得了一百多个的主机列表ips.txt。

masscan

扫描某台主机的tcp和udp的所有端口

1
2
3
4
#!/bin/bash

read -p "which ip? " ip
masscan -p1-65535,U:1-65535 ${ip} --rate=1000 -p1-65535,U:1-65535 -e tun0 > ports

masscan选项和nmap类似,用-iL ips.txt,可以批量进行扫描

脚本批量扫描htb主机

  1. 登陆htb,右键查看源代码,复制该页面源码,另存为ip-raw.txt

  2. 用脚本提取ip到htb_ip.txt。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import requests

import re

myre = "10.10.10.\d+"

write_ip = open('htb_ip.txt','w')



with open('ip-raw.txt') as f:

for line in f:

find_ip = re.findall(myre,line)

for i in find_ip:

write_ip.write(i+'\n')

write_ip.close()

3.用nmap在vps上扫描。这样可以节省自己的时间。等有空的时候,查看扫描结果。

masscan -p1-65535,U:1-65535 -iL htb_ip.txt --rate=1000 -p1-65535,U:1-65535 -e tun0 > htb-all-scan.txt