返回顶部
首页 > 资讯 > 后端开发 > Python >Python实现端口检测
  • 940
分享到

Python实现端口检测

端口Python 2023-01-31 07:01:57 940人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

一、背景: 在平时工作中有遇到端口检测,查看服务端特定端口是否对外开放,常用nmap,tcping,telnet等,同时也可以利用站长工具等WEB扫描端口等。但是在使用站长工具发现: 每次只能输入一个检测的地址; 虽然可以输入多个端口,但

一、背景:

在平时工作中有遇到端口检测,查看服务端特定端口是否对外开放,常用nmap,tcping,telnet等,同时也可以利用站长工具WEB扫描端口等。
但是在使用站长工具发现:

  • 每次只能输入一个检测的地址;
  • 虽然可以输入多个端口,但是不能指定一个端口范围来进行批量检测;
  • 没有批量任务记录日志等;
    Python实现端口检测

因避免由于局域网检测发起端网络限制而导致的端口检测异常,未使用python-nmap
想通过调用站长工具,实现

  • 单次可多个地址或域名检测
  • 单次可指定端口范围,批量检测
  • 记录日志

二、代码:

2.1 结构

Python实现端口检测

2.2 代码

GitHub地址
部分代码

#配置文件
#端口检测配置
[port_check_info]

#检测ip地址或域名
#address = baidu.com
#address = 127.0.0.1
address = www.anchnet.com,www.51cto.com,www.baidu.com

#检查的端口,如多个端口使用,隔开,端口范围使用'-'
#ports = 80,8080....
ports = 20-25,80,443,1433,1521,3306,3389,6379,8080,27017

#日志配置
[loginfo]
#日志目录
logdir_name = logdir

#日志文件名称
logfile_name = check_port.log

   def _get_body(self):
        """
        获取address和port
        :return: list
        """
        address_list = self.address_list.split(',')
        port_list = self.port_list.split(',')

        # 处理端口范围,返回range
        range_flag = False
        port_range = None
        content_List_range = []
        for port in port_list:
            if '-' in port:
                range_flag = True
                port_range = range(int(port.split('-')[0]),int(port.split('-')[1])+1)
                port_list.remove(port)

        # 处理总体list
        for add in address_list:
            if range_flag:
                for port in port_range:
                    content_List_range.append(add + ':' + str(port))

        # 合并range和普通list
        content_List = [ add+':'+port for add in address_list for port in port_list ]
        content_List_range.extend(content_List)
        return content_List_range

    def run(self):
        """
        进行端口检测
        :return:
        """
        for content in self._get_body():
            content_list = content.split(':')
            body = {
                'host': content_list[0],
                'port': content_list[1],
                'encode': 'tlCHS1u3IgF4sC57m6KOP3Oaj1Y1kfLq'
            }
            try:
                response = requests.post(url=self.url,data=body,headers=self.headers)
                port_status = re.findall("msg:'(.*?)'", response.text)
                if len(port_status) > 0:
                    # print('%s,port status is:%s' % (content, port_status))
                    self.loGoper.info('%s,port status is:%s' % (content, port_status))
                else:
                    self.logoper.info('%s,port status is:%s' % (content, port_status))
                    # print('Occer error!请输入正确的地址和端口')
            except Exception as e:
                print(e)

三、测试

3.1 查看检测结果

Python实现端口检测
此处可以查看51cto的8080端口也是开放的。

3.2 查看日志

Python实现端口检测

四、改进:

  • 后期可以添加异步多进程等来提升效率
  • 可以对比多个站点检测结果,使结果更准确
  • 整合nmap内网也可检测

--结束END--

本文标题: Python实现端口检测

本文链接: https://lsjlt.com/news/191347.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python实现端口检测
    一、背景: 在平时工作中有遇到端口检测,查看服务端特定端口是否对外开放,常用nmap,tcping,telnet等,同时也可以利用站长工具等web扫描端口等。但是在使用站长工具发现: 每次只能输入一个检测的地址; 虽然可以输入多个端口,但...
    99+
    2023-01-31
    端口 Python
  • python 实现端口连通性检测
    # -*- coding: utf-8 -*- #!/bin/env python #AUTHOR:karl #DATE:2018-1-19 #VERSION:V1.0 ###################### import time ...
    99+
    2023-01-31
    端口 连通性 python
  • python-检测ssh端口
    #!/usr/bin/env python#-*- coding:utf-8 -*-import socket,sysfrom optparse import OptionParserstat_ok=0stat_warning=1stat_...
    99+
    2023-01-31
    端口 python ssh
  • python检测主机存活端口
    监测主机存活的端口#!/usr/bin/env python # coding-utf8 import argparse import socket import sys #author: wolf_ribble def scan_po...
    99+
    2023-01-31
    端口 主机 python
  • Python实现笑脸检测+人脸口罩检测功能
    目录一、人脸图像特征提取方法二、对笑脸数据集genki4k进行训练和测试(包括SVM、CNN),输出模型训练精度和测试精度(F1-score和ROC),实现检测图片笑脸和实时视频笑脸...
    99+
    2024-04-02
  • Python 协程检测Kubernetes服务端口
    一、需求分析在上一篇文章,链接如下:https://www.cnblogs.com/xiao987334176/p/10237551.html 已经得到了需要的数据,现在需要对这些端口做检测,判断端口是否正常!实际情况是,有上百个...
    99+
    2023-01-31
    端口 Python Kubernetes
  • python检测端口是否被侦听
    Python检查端口是否被监听 关于socket.connect_ex和socket.connect, 前者是返回状态值而不是抛出异常. 适合这种判断可连接的情景. Like connect(address), but ret...
    99+
    2023-01-31
    端口 python
  • Python双端队列实现回文检测
    目录一、双端队列二、回文检测补充一、双端队列 双端队列 Deque 是一种有次序的数据集,跟队列相似,其两端可以称作"首" 和 "尾"端,但 ...
    99+
    2024-04-02
  • python基于Opencv实现人脸口罩检测
    一、开发环境 python 3.6.6 opencv-python 4.5.1 二、设计要求 1、使用opencv-python对人脸口罩进行检测 三、设计原理 设计流程图如图3-1...
    99+
    2024-04-02
  • 基于Python实现口罩佩戴检测功能
    目录口罩佩戴检测一 题目背景1.1 实验介绍1.2 实验要求1.3 实验环境1.4 实验思路二 实验内容2.1 已知文件与数据集2.2 图片尺寸调整2.3 制作训练时需要用到的批量数...
    99+
    2024-04-02
  • Python双端队列怎么实现回文检测
    本文小编为大家详细介绍“Python双端队列怎么实现回文检测”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python双端队列怎么实现回文检测”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、双端队列双端队列 ...
    99+
    2023-06-26
  • node检测端口可用性的实践示例
    目录前言创建项目使用express编写一个服务器解决尾言前言 我们编写自己的框架或者 nodejs 服务器代码时,可能会用一些固定使用我们常用的端口。 问题来了,如果是编写框架,你的...
    99+
    2023-02-01
    node检测端口可用性 node检测端口
  • golang端口占用检测的使用
             在运维开发的过程中,经常碰到这样的情况:启动某个应用前,需要先检测一下端口...
    99+
    2024-04-02
  • Python OpenCV实现边缘检测
    本文实例为大家分享了Python OpenCV实现边缘检测的具体代码,供大家参考,具体内容如下 1. Sobel 算子检测 Sobel 算子是高斯平滑和微分运算的组合,抗噪能力很强,用途也很多,尤其是效率要求高但对细...
    99+
    2022-06-02
    python OpenCV 边缘检测
  • Python+Sklearn实现异常检测
    目录离群检测 与 新奇检测Sklearn 中支持的方法孤立森林 IsolationForestLocal Outlier FactorOneClassSVMElliptic Enve...
    99+
    2022-12-22
    Python Sklearn异常检测 Python 异常检测 Python Sklearn
  • 使用python检测主机存活端口及检查存活主机
    监测主机存活的端口 #!/usr/bin/env python # coding-utf import argparse import socket import sys #author: wolf_r...
    99+
    2022-06-04
    主机 端口 python
  • Python+OpenCV实现边缘检测与角点检测详解
    目录一、边缘检测1.1、读取图像1.2、图像转换成灰度图像1.3、Sobel算子1.4、Canny算子1.5、显示正常中文的标签1.6、边缘检测结果二、角点检测2.1、读取图像2.2...
    99+
    2023-02-03
    Python OpenCV边缘检测 Python OpenCV角点检测 Python OpenCV 检测
  • JavaScript实现移动端横竖屏检测
    本文实例为大家分享了JavaScript实现移动端横竖屏检测的具体代码,供大家参考,具体内容如下 一、HTML方法检测 在html中分别引用横屏和竖屏样式 <!-- 引用竖屏的...
    99+
    2024-04-02
  • python socket 端口测试
    #coding:utf8import socket,time,re,thread,ostimeout=3socket.setdefaulttimeout(timeout)def socket_port(ip,port):    s=sock...
    99+
    2023-01-31
    端口 测试 python
  • opencv-python+yolov3实现目标检测
    目录目标检测概况目标检测是?目标检测算法?yolov3模型简介性能介绍架构介绍opencv-python实现why opencv?正文因为最近的任务有用到目标检测,所以昨天晚...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作