python 구현된 IP 생존 스캐닝 스크립트
다운로드 주소
ActiveOrNot
oneforall 등 하위 도메인 이름 스캐닝 도구를 처리한 결과 중복 제거 + 호스트 생존 스캐닝
매개 변수
-f --file ip , ip.txt
-t --thread , 50
python3 ActiveOrNot.py -f ip.txt -t 12
구체적인 코드 ActiveOrNot.py
from threading import Thread
from queue import Queue
import requests
from time import time
import argparse
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"
}
def ping(url, new_ip):
url = url.strip()
if (not url.startswith('http://')) and (not url.startswith('https://')):
url = 'http://' + url
try:
req = requests.get(url, headers=headers, timeout=2)
new_ip.put(url + ' -- ' + str(req.status_code))
print("%s " % url)
except:
print("%s " % url)
def new_list(file):
with open(file, 'r') as f:
new_ip = []
ip_list = f.readlines()
for ip in ip_list:
ip = ip.strip().replace('http://', '').replace('https://', '')
if ip:
if not (ip in new_ip):
new_ip.append(ip)
return new_ip
def main(file, th):
begin_time = time()
new_ip = Queue()
ip_list = new_list(file)
j = 0
length = len(ip_list)
while j < length:
threads = []
for i in range(th):
t = Thread(target=ping, args=(ip_list[j], new_ip))
t.start()
threads.append(t)
j += 1
if j == length:
break
for thread in threads:
thread.join()
with open('NewIP.txt', 'a+') as nf:
while not new_ip.empty():
nf.write(new_ip.get()+'
')
end_time = time()
run_time = end_time - begin_time
print(" %s "% run_time)
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='url active scan')
parser.add_argument("-f", "--file", help=" ", default='ip.txt')
parser.add_argument("-t", "--thread", help=" ", default=50)
args = parser.parse_args()
file = args.file
th = args.thread
main(file, th)
이상은python이 실현한 IP 생존 스캐닝 스크립트의 상세한 내용입니다.python IP 생존 스캐닝에 대한 더 많은 자료는 저희 다른 관련 글을 주목해 주십시오!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.