mirror of
https://github.com/Astatin3/Auto-Shodanner.git
synced 2026-06-08 16:18:09 -06:00
46 lines
1.2 KiB
Python
46 lines
1.2 KiB
Python
import random
|
|
import socket
|
|
from faker import Faker
|
|
|
|
def generate_headers():
|
|
fake = Faker()
|
|
return [
|
|
f"User-Agent: {fake.user_agent()}",
|
|
f"Accept: {fake.mime_type()}",
|
|
f"Accept-Language: {fake.language_code()},{fake.language_code()};q=0.9",
|
|
f"Accept-Encoding: {fake.mime_type()}, {fake.mime_type()}, {fake.mime_type()}",
|
|
f"Referer: {fake.url()}",
|
|
f"Connection: {random.choice(['keep-alive', 'close'])}",
|
|
f"Cache-Control: {random.choice(['no-cache', 'max-age=0'])}",
|
|
f"Pragma: {random.choice(['no-cache', ''])}",
|
|
]
|
|
|
|
def scan(host:str, port:int):
|
|
returnVal = ""
|
|
error = False
|
|
try:
|
|
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
client_socket.connect((host, port))
|
|
headers = generate_headers()
|
|
request = "GET / HTTP/1.1\r\n"
|
|
request += "Host: " + host + "\r\n"
|
|
request += "\r\n".join(headers)
|
|
request += "\r\n\r\n"
|
|
|
|
client_socket.send(request.encode())
|
|
|
|
while True:
|
|
chunk = client_socket.recv(64)
|
|
|
|
if not chunk: break
|
|
|
|
returnVal += chunk.decode()
|
|
|
|
except Exception as e:
|
|
returnVal += f"<error {e}>"
|
|
error = True
|
|
finally:
|
|
if client_socket:
|
|
client_socket.close()
|
|
|
|
return returnVal, error |