杰网资源 Design By www.escxy.com
# 简单的端口扫描工具
# 作者: 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 <xxx.xxx.xxx.xxx>):\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 端口扫描工具的资料请关注其它相关文章!
杰网资源 Design By www.escxy.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
杰网资源 Design By www.escxy.com
暂无评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。



