python多线程端口扫描

时间:2022-07-22
本文章向大家介绍python多线程端口扫描,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

利用python多线程的性质,写了一个扫描目标主机开放端口的程序

程序功能:

输入目标ip地址,程序执行扫描,讲扫描到的端口,存入test.tst文件

附上代码:

import telnetlib
import threading


def get_port(ip, port):

    server = telnetlib.Telnet()
    try:
        server.open(ip, port)
        #print('{0} 的 {1} 端口是打开的 '.format(ip, port))
        with open("test.txt", "a", encoding='utf-8') as out_file:
            out_file.write('{0} 的 {1} 端口是打开的 n'.format(ip, port))

    except Exception as err:
        pass
        # print('{0} 的 {1} 端口是没有打开的'.format(ip, port))

    finally:
        server.close()


if __name__ == '__main__':
    ipadress = input("输入目标ip:")
    host = ipadress
    print('端口扫描开始')
    everything = []

    for port in range(1, 65535):
        t = threading.Thread(target=get_port, args=(host, port))
        t.start()
        everything.append(t)

    for t in everything:
        t.join()
print('扫描完成,请查看test.txt文件')