这篇文章主要介绍了Python实现的端口扫描功能,在这里分享给大家,需要的朋友可以参考下

本文实例讲述了Python实现的端口扫描功能。分享给大家供大家参考,具体如下:

一 代码

import sys

import socket

import multiprocessing

def ports(ports_service):

#获取常用端口对应的服务名称

for port in list(range(1,100))+[143,145,113,443,445,3389, 8080]:

try:

ports_service[port] = socket.getservbyport(port)

except socket.error:

pass

def ports_scan(HOST, ports_service):

ports_open = []

try:

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

#sock.settimeout(60)

except socket.error:

print('socket creation error')

sys.exit()

for port in ports_service:

try:

#尝试连接指定端口

sock.connect((HOST,port))

#记录打开的端口

ports_open.append(port)

sock.close()

except socket.error:

pass

return ports_open

if __name__=='__main__':

m = multiprocessing.Manager()

ports_service = dict()

results = dict()

ports(ports_service)

#创建进程池,允许最多8个进程同时运行

pool = multiprocessing.Pool(processes=8)

net = '192.168.0.'

for host_number in map(str,range(105,106)):

host = net+host_number

#创建一个新进程,同时记录其运行结果

results[host] = pool.apply_async(ports_scan, (host, ports_service))

print('starting '+host+'...')

#关闭进程池,close()必须在join()之前调用

pool.close()

#等待进程池中的进程全部执行结束

pool.join()

#打印输出结果

for host in results:

print('='*30)

print(host,'.'*10)

for port in results[host].get():

print(port, ':', ports_service[port])

二 运行结果starting 192.168.0.105...

==============================

192.168.0.105 ..........

80 : http

相关推荐:

python实现用生成器实现可迭代对象的方法

Python实现的HMacMD5加密算法示例_python

python 端口扫描_Python实现的端口扫描功能相关推荐

  1. python 端口扫描_Python学习之端口扫描器(终)

    序 接着学习.其实,在端口扫描工具里面有一个特别出名,那就是nmap,其官方网站是 https://nmap.org/,而Python里面也有一个nmap模块,此次就是使用 python-nmap 模 ...

  2. python扫描端口脚本_python写的端口扫描脚本

    今天看到群里哥们发了一个需求,如下: "如何批量检测一批主机的端口,是否存在,端口都是对外的",感觉不难,就用py写了个小脚本,有问题的地方,还望大家指出,谢谢! #!/usr/b ...

  3. python 条形码扫描_Python evdev和条形码扫描

    找到了解决办法.条码扫描器每次扫描后发送42个扫描码(回车键),所以我们需要检查扫描码:#!/usr/bin/env python from evdev import InputDevice, eco ...

  4. python 测试端口连通_python探测服务器端口连通性

    现在有一个运维场景是这样的,一共有三台机器,其中的1台类似是另外两台的数据中传站角色,由于业务比较特殊,要求实时能够监控这几台机器的网络连通性,如果发现有问题,就及时报警,基于以上背景,刚开始打算用s ...

  5. python扫描端口脚本_Python实现的端口扫描功能示例

    本文实例讲述了Python实现的端口扫描功能.分享给大家供大家参考,具体如下: 一 代码 import sys import socket import multiprocessing def por ...

  6. python 测试端口连通_Python语言 实现端口连通性检测

    本文主要向大家介绍了Python语言 实现端口连通性检测,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. # -*- coding: utf-8 -*- #!/bin/env py ...

  7. python 局域网扫描_Python 局域网主机存活扫描

    #! python # -*- coding: utf-8 -*- __author__ = 'Deen' import os import threading import argparse # 从 ...

  8. python sftp模块_python实现ssh及sftp功能(实例代码)

    1.在Linux上我们通过scp命令实现主机间的文件传送,通过ssh实现远程登录 ,比如 我们经常使用的xshell远程登录工具,就是基础ssh协议实现window主机远程登录Linux主机 下面简单 ...

  9. python adb模块_python中adb有什么功能

    ADB是Android SDK中的一个工具, 使用ADB可以直接操作管理Android模拟器或者真实的Andriod设备. ADB主要功能有: 1.在Android设备上运行Shell(命令行) 2. ...

  10. python表达式计算器_Python正则表达式实现简易计算器功能示例

    本文实例讲述了Python正则表达式实现简易计算器功能.分享给大家供大家参考,具体如下: 需求:使用正则表达式完成一个简易计算器. 功能:能够计算简单的表达式. 如:1*2*((1+2)/(2+3)+ ...

最新文章

  1. Fade 数字切换动效
  2. Linux主辅DNS数据不同步故障排除
  3. ClickHouse系列教程六:源码分析之Debug编译运行
  4. c语言 函数多个参数,C语言函数可变参数
  5. 最优乘车(信息学奥赛一本通-T1377)
  6. vrep中设置joint的位置、速度需要根据关节的模式来设置。
  7. c++11 多线程编程(六)------条件变量(Condition Variable)
  8. 五、数据类型(1):整数带小数点的数
  9. 代数学笔记1: 域扩张(一)
  10. 2021年N1叉车司机考试资料及N1叉车司机模拟试题
  11. 线程池提交执行任务中execute()方法和submit()的区别
  12. 极路由4增强版刷OpenWrt折腾系列
  13. cxxxxx和xxxxx.h的区别
  14. 微信惊现超级大Bug:试过的人都哭了...
  15. 拉格朗日乘子法、KKT条件、拉格朗日对偶性
  16. October——Just believe youself,you really did good job
  17. 【英文】阅读句子理解小妙招 that/which从句到底修饰谁?
  18. 烤仔看世界 | 后苏联时代隐秘的加密货币繁荣(下)
  19. JAVA评委评分系统
  20. 心率用计算机怎么算,实时心率计算方法 | 学步园

热门文章

  1. Python数据分析中的训练集、验证集、测试集
  2. 肖维勒准则matlab_肖维勒准则.PPT
  3. Ubuntu下QT的安装配置
  4. 绘图板应用讲解计算机,电脑绘图板怎么用?基础电脑绘图板入门教程!
  5. 2022主流技术 Appium+IOS 自动化测试环境搭建
  6. python爬虫教材推荐 豆瓣_学习python爬虫推荐书籍
  7. coreldraw怎么打印荣誉证书_使用Word 2010制作并打印荣誉证书的方法
  8. LBP特征提取原理和python库代码
  9. Win10台式机前面板耳机无声音,没有Realtek高清晰音频管理器,前置耳机孔无法使用
  10. 《运筹学》CSU作业答案