这篇“python怎么批量telnet检测IP地址的端口是否开放”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“python怎么批量telnet检测IP地址的端口是否开放”文章吧。
需求
需要
检查多个端口是否开放,没有找到第三方工具和服务来快速测通,就自己用python写了个脚本.原理是通过telnet来实现的,仅支持
tcp协议的端口.
代码
# !/usr/bin/env python3 # -*- coding:utf-8 -*- # 批量测试端口号 import sys import telnetlib def telnet(host, port): """ 测试端口号通不通 :return: """ try: # timeout单位s telnetlib.Telnet(host=host, port=port, timeout=2) print(f"{port} 端口开放") except: print(f"{port} 端口未开放") # 或什么都不打印 # pass def for_port(): """ 添加端口到列表中 使用示例: python3 telnet_for.py 39.105.137.91 81 82 83 84 :return: """ host = sys.argv[1] port_list = sys.argv[2:] if not len(port_list): port_list = [20, 21, 22, 53, 80, 8080, 443, 8443, 8888, 3306, 3389] for port in port_list: telnet(host, port) if __name__ == '__main__': for_port()
复制上面的代码保存为
main.py
示例
打开命令行
python main.py ip地址 端口列表用空格隔开即可 python ./main.py 114.114.114.114 53 22 80
运行结果