# 简单的端口扫描工具

# 作者: 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 + '\n')

except:

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

time.sleep(0.1)

if __name__ == '__main__':

# 输入IP地址。

ip = input('Input IP(example ):\n')

print(isIP(ip))

while not isIP(ip):

ip = input('请输入正确的IP地址:\n')

# 输入最小端口、

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 实现端口扫描工具相关推荐

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

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

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

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

  3. “诸神之眼”——Nmap端口扫描工具使用小手册

    "诸神之眼"--Nmap端口扫描工具使用小手册 1.Nmap介绍 1.1.Nmap简介 Nmap ("Network Mapper(网络映射器)") 是一款开放 ...

  4. 在 Linux 环境下,我用了这款端口扫描工具~

    为了保护计算机不受攻击和各种病毒.木马的侵扰,其实我们可以在网络设备上采取措施,对某些数据包进行阻挡.过滤等,但重要的还是用户需要有一定的意识,采取措施对自己的计算机进行保护安全: 那么,今天杰哥主要 ...

  5. 扫描服务器端口信息工具,服务器端口扫描工具

    服务器端口扫描工具 内容精选 换一换 2.3.2 端口扫描Internet上的大部分服务都使用一种基于TCP/IP协议的客户机/服务器的模式.在这种模式下,服务器端在某个TCP或UDP(User Da ...

  6. 网站服务器端口扫描,服务器端口扫描工具

    服务器端口扫描工具 内容精选 换一换 如果操作系统环境不可以联网,则需要先参考配置操作系统yum/apt/zypper源配置yum/apt/zypper源.注意下载与服务器硬件平台一致的工具安装包.o ...

  7. 端口扫描工具终极用法

    了解更多:端口扫描工具终极用法 | 至察助安 - 网络安全干货博客 为什么要做c段探测,运营商分配给IDC机房地址时大部分都是连续IP地址,租给客户(渗透目标)时很大概率会分配同C段内IP地址(除非目 ...

  8. zenmap扫描ip段_zenmap端口扫描工具(ip端口扫描器)V7.71 最新版

    zenmap端口扫描工具(ip端口扫描器)是一款功能强大的端口漏洞扫描工具.害怕出现端口漏洞?zenmap端口扫描工具(ip端口扫描器)轻松帮助用户.功能与NMap一致,交互性好,界面输出更为直观,可 ...

  9. 端口扫描工具 NMAP使用详解,收藏这一篇就够了

    前言 为了保护计算机不受攻击和各种病毒.木马的侵扰,其实我们可以在网络设备上采取措施,对某些数据包进行阻挡.过滤等,但重要的还是用户需要有一定的意识,采取措施对自己的计算机进行保护安全: 那么,今天主 ...

最新文章

  1. “趣冷淡”怎么看?网络电话寻求共同语言
  2. ad走线画直线_作为立体几何的热点,直线与平面的平行关系,到处都是考试的影子...
  3. excel调用python编程-使用Python和xlwt向Excel文件中写入中文的实例
  4. HDU-4532 湫秋系列故事——安排座位 组合数学DP
  5. 从内核层说清GetMessage , DispatchMessage
  6. ITK:计算网格的平面参数化
  7. 读【36岁IT老人再次随笔】的读后感,你会哪些计算机语言?
  8. 剑指offer 56 - 1.数组中数字出现的次数
  9. 【FFMPEG系列】FFMPEG linux下集成x264
  10. mysql句式增删改,MySQL 增删改语句
  11. C语言分数加减乘除化简操作集(含测试源码)
  12. AiTrust下预训练和小样本学习在中文医疗信息处理挑战榜CBLUE表现
  13. 【数据压缩】压缩率-图像熵-保真度
  14. Linux Base VIII 压缩和解压缩命令
  15. ssh 远程锁住解锁_超级管理员被锁定,如何解锁?
  16. 拾人牙慧,浅记一些C++的类
  17. 在unity中读取并可视化dicom图像(fo-dicom / C# / unity)
  18. 慕课python下载_python下载小说
  19. BUU-Crypto-世上无难事
  20. 传智播客风清扬视频-------线程简介

热门文章

  1. vue computed 中操作DOM和给对象添加属性遇到的问题
  2. 如何用Colab运行XGBoost模型
  3. 图像处理基本算法之空间域图像增强
  4. 状态管理技术~~Session
  5. java pcm16位_Java – 将16位带符号的pcm音频数据数组转换为双数组
  6. 计算机word数字逆序输出,如何让word中的内容倒序排列
  7. 2019年一半已过,这些大前端技术你都GET了吗?- 下篇
  8. 标准WPS框架下的空间信息处理服务部署方法
  9. STL之template类模板
  10. Paxos Made Simple