# 简单的端口扫描工具

# 作者: Charles

# 公众号: Charles的皮卡丘

import time

import socket

import threading

# 判断是否为正确的IP地址。

def isIP(ip):

ip_addr = ip.split(".")

if len(ip_addr) != 4:

return False

for ipnum in ip_addr:

if not (0 <= int(ipnum) < 255):

return False

else:

return True

# 端口扫描工具

class scanThread(threading.Thread):

def __init__(self, ip, port_min=0, port_max=65535):

# 初始化。

threading.Thread.__init__(self)

self.port_max = port_max

self.port_min = port_min

self.ip = ip

# assert isinstance(int,self.port_min) and isinstance(int,self.port_max)

# 重写run

def run(self):

return self.__checker()

# 检测

def __checker(self):

for port in range(self.port_min,self.port_max):

self.__connect(port)

# 连接

def __connect(self,port):

socket.setdefaulttimeout(1)

self.sock = socket.socket()

try:

start_time = time.time()

self.sock.connect((self.ip,port))

end_time = time.time()

connect_time = int(start_time - end_time)

info = "Find --> [IP]: %s, [PORT]: %s, [Connect Time]: %d" % (self.ip, port, connect_time)

print(info)

self.__save(info)

self.sock.close()

except:

# print("出错误了")

self.sock.close()

def __save(self,info):

try:

with open("results.txt", "a") as f:

f.write(info + "

")

except:

print("写文件出现了问题")

time.sleep(0.1)

if __name__ == "__main__":

# 输入IP地址。

ip = input("Input IP(example ):

")

print(isIP(ip))

while not isIP(ip):

ip = input("请输入正确的IP地址:

")

# 输入最小端口、

port_min = input("需要扫描的最小端口为:")

while not (0 <= int(port_min) < 65535):

port_min = input("请输入正确的需要扫描的最小端口:")

port_max = input("需要扫描的最大端口为(65535):")

while not (0 <= int(port_min) < int(port_max) < 65535):

port_min = input("请输入正确的需要扫描的最大端口(65535):")

num = 8

port_max = int(port_max)

port_min = int(port_min)

interval = (port_max - port_min) // num

for i in range(interval):

scanThread(ip, i * num, (i + 1) * num).start()

以上就是python 实现端口扫描工具的详细内容,更多关于python 端口扫描工具的资料请关注云海天教程其它相关文章!

python实现端口扫描器_python 实现端口扫描工具相关推荐

  1. python扫题软件_python 实现端口扫描工具

    # 简单的端口扫描工具 # 作者: Charles # 公众号: Charles的皮卡丘 import time import socket import threading # 判断是否为正确的IP ...

  2. python autoit打开软件_Python+AutoIt实现界面工具开发

    前言 不同于Linux服务器上的命令行操作,在windows系统上用户的使用习惯还是倾向于使用有界面的工具.如果工具是命令行交互操作的方式,可能是有悖于在windows上使用的操作习惯,往往不容易推广 ...

  3. python编写病毒扫描器_python实现集中式的病毒扫描功能详解

    本文实例讲述了python实现集中式的病毒扫描功能.分享给大家供大家参考,具体如下: 一 点睛 本次实践实现了一个集中式的病毒扫描管理,可以针对不同业务环境定制扫描策略,比如扫描对象.描述模式.扫描路 ...

  4. python全盘搜索文件_python实现全盘扫描搜索功能的方法

    由用户指定需要扫描的盘符或目录,输入需要查找的文件或者文件夹名称(不包含中文名称) 代码: # encoding=utf-8 import os.path import stat # 用python编 ...

  5. python文档生成_python文档生成工具-pydoc

    为了找到对象及其文档内容,pydoc 会导入文档所在的模块. 因此,任何模块层级的代码都将被执行. 请使用 if __name__ == '__main__': 语句来确保一个文件的特定代码仅在作为脚 ...

  6. python注入点查找_python注入点查找工具

    http://zhan.renren.com/pythonfocus?checked=true #!/usr/bin/python #-*-coding=utf-8-*- #Author:@xfk # ...

  7. python 简单检索器_python实现文件搜索工具(简易版)

    在python学习过程中有一次需要进行GUI 的绘制, 而在python中有自带的库tkinter可以用来简单的GUI编写,于是转而学习tkinter库的使用. 学以致用,现在试着编写一个简单的磁文件 ...

  8. python第三方开发软件_python开发者的必备工具(一)

    1.python开发工具 pip 可以快速安装第三方python包: virtualenv 可以创建一个与外界隔离的python运行环境,使项目更加可控: virtualenvwrapper 使用它可 ...

  9. python如何绘制饼图_Python使用Plotly绘图工具,绘制饼图

    今天我们来学习一下如何使用Python的Plotly绘图工具,绘制饼图 使用Plotly绘制饼图的方法,我们需要使用graph_objs中的Pie函数 函数中最常用的两个属性values,用于赋值给需 ...

  10. python文档生成_python文档生成工具:pydoc、sphinx;django如何使用sphinx?

    文档生成工具: 自带的pydoc,比较差 建议使用sphinx 安装: pip install sphinx 安装主题: 由各种主题,我选择常用的sphinx_rtd_theme pip instal ...

最新文章

  1. 一文了解神经网络的基本原理
  2. 动态链接库的编写与调用
  3. JDBC驱动的动态加载
  4. 中国学霸本科生提出AI新算法:速度比肩Adam,性能媲美SGD,ICLR领域主席赞不绝口
  5. 三种编程命名规则:驼峰命名法 (壹)
  6. 计算机中心述职报告诉,计算中心述职报告
  7. OpenGL 学习笔记(3)绘制几何物体
  8. 在腾讯云控制台上对域名进行续费
  9. java一个界面用另一个界面的值_如何将参数/值从一个弹出窗口传递到Angular2中的另一个弹出窗口...
  10. ubuntu 设置 时区 更新时间
  11. 2018 开源分布式中间件 DBLE 年报
  12. AI学习笔记(二)图像与视频
  13. 使用内容脚本将代码插入页面上下文
  14. Linux下编写udp群聊室
  15. Java Swing
  16. 与复旦大学《数学分析》编者商榷
  17. 金融风控指标:WOE, IV, KS,LIFT值和PSI
  18. 中兴服务器400,中兴通讯高性能400G方案:攀登5G高峰
  19. 求a100的值,an是一个集合{2^s+2^t且t>s>=0}程序验证
  20. 全球及中国镱 (Yb) 蒸发材料行业深度研究及未来发展趋势调研报告2021年版

热门文章

  1. 圣思园JavaWeb随手笔记
  2. 利用DHT网络原理制作bt采集蜘蛛
  3. 学生用计算机如何算角度,如何用windows计算器计算角度的正弦值?
  4. 数字地形模型(DTM)与地形分析 ( 来自:86VR)
  5. linux命令mvn,Linux下使用mvn命令(maven)
  6. 松鼠快跑——安徽芜湖“三只松鼠”案例
  7. python 音频格式转换
  8. 阿里巴巴面经、面试流程、面试题
  9. 锁存器芯片74HC573芯片的用法,及其在实际电路中的应用
  10. MeteoInfoLab脚本示例:数据投影-FLEXPART