from concurrent.futures import ThreadPoolExecutor
import requests

ip = '172.17.0.2'
max_port = 65535

def check_port(port):
    r = requests.get(f'http://{ip}:{port}')
    if r.status_code == 200:
        print(f'Port {port} is open')

if __name__ == '__main__':
    pool = ThreadPoolExecutor(max_workers=100)
    for i in range(1, max_port + 1):
        pool.submit(check_port, i)
    pool.shutdown(wait=True)