批量检测网络层面是否已经放通端口(Python脚本)

---脚本目的

输入端口,检测网络层面是否已经放通,本脚本为python脚本

 

---使用方式

1. 把要检测的IP写入当前目录的iplist.txt

2. 执行脚本,按要求输入要检测的端口号,连接失败的IP结果会直接显示

 

---脚本内容

 

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import socket

#打开IP列表
TextFile = open(r‘iplist.txt‘)
list_str = TextFile.read().strip()
TextFile.close()

#定义端口
Port = input("请输入检测端口:")

#定义空列表
# OK_list = []
Timeout_list = []
Down_list = []
ip_list = list(list_str.split())

#定义连接方法
def IsOpen(ip, port):
socket.setdefaulttimeout(2)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.connect((ip, port))
s.shutdown(2)
# OK_list.append([ip, port])
pass
except socket.timeout:
Timeout_list.append([ip, port])
except:
Down_list.append([ip, port])

for i in range(len(ip_list)):
IsOpen(ip_list[i],int(Port))

lists = {‘connection failed‘:Timeout_list,‘connection refused‘:Down_list}

for status,i in lists.items():
#status即为timeout,down两种状态,格式化输出
print(status.center(40,‘-‘))
if not i:
print(‘null‘)
continue
for ip,port in i:
print(ip,port)

批量检测网络层面是否已经放通端口(Python脚本)

上一篇:C语言之——文件操作模式


下一篇:leetcode python 217. 存在重复元素 53. 最大子序和