share-image
ESC

python3 使用正则匹配 IP 并检测端口

我们要通过正则去获取一段信息中与之匹配的内容,需要使用到正则表达式,Python 的 re 模块,要判断端口是否打开则可以使用 socket 模块,具体代码如下:

代码

# import re
#
ticket_info = "服务器怎么无法远程连接了,IP 地址是59.111.104.113,麻烦帮我看下"


import re
import socket

pattern = re.compile(r'((?:(?:25[0-5]|2[0-4]\d|(?:1\d{2}|[1-9]?\d))\.){3}(?:25[0-5]|2[0-4]\d|(?:1\d{2}|[1-9]?\d)))') # 查找数字

ip_info = pattern.findall(ticket_info)

if ip_info[0] is not None:

for port in [22,3389,80,443]:
sk = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sk.settimeout(1)
try:
sk.connect((ip_info[0],port))

print("Server: %s port %s OK!" %(ip_info[0],port))
except Exception:
print("Server: %s port %s OK!" % (ip_info[0], port))
sk.close()
文章作者:阿文
文章链接: https://www.awen.me/post/32223.html
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阿文的博客
本文于 2018-07-12 发布,已超过半年(2758天),请注意甄别内容是否已过期。