python实现端口扫描器_python 实现端口扫描工具
# 简单的端口扫描工具
# 作者: 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 实现端口扫描工具相关推荐
- python扫题软件_python 实现端口扫描工具
# 简单的端口扫描工具 # 作者: Charles # 公众号: Charles的皮卡丘 import time import socket import threading # 判断是否为正确的IP ...
- python autoit打开软件_Python+AutoIt实现界面工具开发
前言 不同于Linux服务器上的命令行操作,在windows系统上用户的使用习惯还是倾向于使用有界面的工具.如果工具是命令行交互操作的方式,可能是有悖于在windows上使用的操作习惯,往往不容易推广 ...
- python编写病毒扫描器_python实现集中式的病毒扫描功能详解
本文实例讲述了python实现集中式的病毒扫描功能.分享给大家供大家参考,具体如下: 一 点睛 本次实践实现了一个集中式的病毒扫描管理,可以针对不同业务环境定制扫描策略,比如扫描对象.描述模式.扫描路 ...
- python全盘搜索文件_python实现全盘扫描搜索功能的方法
由用户指定需要扫描的盘符或目录,输入需要查找的文件或者文件夹名称(不包含中文名称) 代码: # encoding=utf-8 import os.path import stat # 用python编 ...
- python文档生成_python文档生成工具-pydoc
为了找到对象及其文档内容,pydoc 会导入文档所在的模块. 因此,任何模块层级的代码都将被执行. 请使用 if __name__ == '__main__': 语句来确保一个文件的特定代码仅在作为脚 ...
- python注入点查找_python注入点查找工具
http://zhan.renren.com/pythonfocus?checked=true #!/usr/bin/python #-*-coding=utf-8-*- #Author:@xfk # ...
- python 简单检索器_python实现文件搜索工具(简易版)
在python学习过程中有一次需要进行GUI 的绘制, 而在python中有自带的库tkinter可以用来简单的GUI编写,于是转而学习tkinter库的使用. 学以致用,现在试着编写一个简单的磁文件 ...
- python第三方开发软件_python开发者的必备工具(一)
1.python开发工具 pip 可以快速安装第三方python包: virtualenv 可以创建一个与外界隔离的python运行环境,使项目更加可控: virtualenvwrapper 使用它可 ...
- python如何绘制饼图_Python使用Plotly绘图工具,绘制饼图
今天我们来学习一下如何使用Python的Plotly绘图工具,绘制饼图 使用Plotly绘制饼图的方法,我们需要使用graph_objs中的Pie函数 函数中最常用的两个属性values,用于赋值给需 ...
- python文档生成_python文档生成工具:pydoc、sphinx;django如何使用sphinx?
文档生成工具: 自带的pydoc,比较差 建议使用sphinx 安装: pip install sphinx 安装主题: 由各种主题,我选择常用的sphinx_rtd_theme pip instal ...
最新文章
- 一文了解神经网络的基本原理
- 动态链接库的编写与调用
- JDBC驱动的动态加载
- 中国学霸本科生提出AI新算法:速度比肩Adam,性能媲美SGD,ICLR领域主席赞不绝口
- 三种编程命名规则:驼峰命名法 (壹)
- 计算机中心述职报告诉,计算中心述职报告
- OpenGL 学习笔记(3)绘制几何物体
- 在腾讯云控制台上对域名进行续费
- java一个界面用另一个界面的值_如何将参数/值从一个弹出窗口传递到Angular2中的另一个弹出窗口...
- ubuntu 设置 时区 更新时间
- 2018 开源分布式中间件 DBLE 年报
- AI学习笔记(二)图像与视频
- 使用内容脚本将代码插入页面上下文
- Linux下编写udp群聊室
- Java Swing
- 与复旦大学《数学分析》编者商榷
- 金融风控指标:WOE, IV, KS,LIFT值和PSI
- 中兴服务器400,中兴通讯高性能400G方案:攀登5G高峰
- 求a100的值,an是一个集合{2^s+2^t且t>s>=0}程序验证
- 全球及中国镱 (Yb) 蒸发材料行业深度研究及未来发展趋势调研报告2021年版