!/usr/bin/python

-- coding: utf-8 --

"""

@version: ??

@author: Guanjie Zhou

@license: Apache Licence

@file: dis_port_threading.py

@time: 17-5-27 上午8:21

"""

import socket

import time

import threading

socket.setdefaulttimeout(1)

建立存放开放端口的列表

open_port = []

lock = threading._allocate_lock()

线程列表

threads = []

计数器

openNum = 0

端口扫描函数

def socket_port(ip, port):

global openNum

try:

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

# 返回连接结果,成功的话返回为0,失败返回errno的值

# 这里要注意的是下边的函数里边的为(ip, port)一个整体

result = s.connect_ex((ip, port))

if result == 0:

lock.acquire()

print '[+] %d open' % port

open_port.append(port)

openNum += 1

lock.release()

except:

print u"端口扫描异常"

def ip_scan(ip, port_range=65535):

# 输入ip地址后,扫描在范围内的端口占用情况

try:

start_time = time.time()

for port in range(0, port_range):

t = threading.Thread(target=socket_port, args=(ip, int(port)))

# 将线程加入线程列表

threads.append(t)

t.start()

# 线程加join

for t in threads:

t.join()

end_time = time.time()

print u'[] %s扫描完成,总共用时: %.2f' % (ip, (end_time - start_time))

print u'[] 一共开放%d端口,具体如下: ' % (openNum)

print open_port

except:

print u"端口扫描出错"

if name == 'main':

# 输入要扫描的端口号

url = raw_input('Input the ip whitch you want to scan: ')

# 输入要扫描的范围

port_range = raw_input(u"输入要扫描的最大端口: ")

# 判断为空的时候,设置一个默认值

if not port_range:

port_range = 65535

ip_scan(url, int(port_range))

怎么用python扫描主机_python扫描主机开放的端口相关推荐

  1. python是什么牌子主机_python 收集主机信息

    这篇文章是之前几篇的一个小综合.也是通过收集主机的一些参数信息,熟悉python里的文件读取,字符切割,字典存储等知识. 文章结构: (1) 文章目的,需要收集的信息,并逐个分析如何获取信息. (2) ...

  2. 网络扫描,端口扫描,漏洞扫描,带你认识nmap

    nmap是一款用于网络发现和安全评估的开源工具.它可以扫描网络主机,了解主机的开放端口和服务信息,甚至可以对操作系统进行识别. 以下是nmap主要用途: 网络发现:nmap可以扫描网络上的主机,了解主 ...

  3. [批量主机存活扫描工具scanhost]扫描主机存活[python版本,非nmap版本]

    地址: http://blog.csdn.net/hujkay 作者:Jekkay Hu(34538980@qq.com) 关键词:主机扫描,主机存活,纯python版本,非nmap 时间: 2014 ...

  4. python实现syn半扫描_python 使用raw socket进行TCP SYN扫描实例

    1. TCP SYN扫描 端口扫描常用于用于探测服务器或主机开放端口情况,被计算机管理员用于确认安全策略,同时被攻击者用于识别目标主机上的可运作的网络服务.端口扫描是向一定范围的服务器端口发送对应请求 ...

  5. python中用socket检测端口_python基于socket函数实现端口扫描

    本文实例为大家分享了python基于socket实现端口扫描的具体代码,供大家参考,具体内容如下 自学Python一段时间,写个端口扫描器练练手.有什么不足之处,请见谅 这是基于socket函数对端口 ...

  6. NetBIOS主机名扫描工具nbtscan

    2019独角兽企业重金招聘Python工程师标准>>> NetBIOS主机名扫描工具nbtscan NetBIOS主机名是NetBIOS协议为主机分配的名称.通过NetBIOS主机名 ...

  7. 【Linux】29.扫描本机同一局域网内 某端口开启 的主机

    扫描本机同一局域网内 某端口开启 的主机 关于nc的用法可参考博客<nc之netcat端口测试与nmap工具> 链接: https://www.cnblogs.com/chuyiwang/ ...

  8. BLE主机主动扫描和被动扫描

    1.目的 识别什么是主动扫描 什么是被动扫描 2.分析 在实际中如果需要获得扫描响应,需要主机设置为主动扫描.如果仅仅是需要广播数据则设置为被动扫描.主动扫描和被动扫描的区别在于:主动扫描可以获得广播 ...

  9. 主机Ping扫描自动化工具

    工具集 主机Ping扫描自动化工具 官网下载地址:http://www.nirsoft.net/utils/multiple_ping_tool.html 示例:

最新文章

  1. 一张图带你了解 Spring Cloud 微服务架构!
  2. 突破置换模块计算瓶颈,MSRA开源轻量版HRNet,超越主流轻量化网络!|CVPR2021...
  3. lvs的十种调度算法概念
  4. 同步机制之 ReentrantLock
  5. python生成器yield原理_生成器yield关键字详解
  6. OS / Linux / Ubuntu 创建应用的快捷方式
  7. 关于磁盘,磁柱,磁头,扇区的概念
  8. js将文字填充与canvas画布再转为图片
  9. 两个数和三个数的最大值和最小值宏定义
  10. Web Directions South 2012的四个大创意
  11. python画圣诞帽_用Python给头像戴圣诞帽
  12. 如何利用cmd打开资源管理器
  13. unity 安卓apk安装后的文件路径
  14. texstudio暗色主题2.0
  15. $q -- AngularJS中的服务
  16. 【问题篇】Springboot解决报错“java.sql.SQLException: Unable to load authentication plugin ‘caching_sha2_passw”
  17. 周三直播 | PaddleGAN又开金手指,零门槛人像转卡通
  18. D. Treasure Island
  19. Wireshark lua 插件简介
  20. 关于VMware15使用unlocker解锁Mac OS时cmd一闪而过导致失败的问题解决方法

热门文章

  1. php dom xml解析,Php Xml解析之DOMDocument使用方法浅解
  2. 记得5年前左右的时候,IT这块刚好处于最火专业之一!至今为止,依旧很多人选择计算机!由于女生也很多选择这块,所以给很多公司带来了福利啊!以前一个互联网公司女生少的可怜啊!可随着IT这块人员的进入,竞争
  3. OpenCASCADE:OCCT应用框架OCAF之TObj模型辅助类和包装
  4. OpenCASCADE:使用 扩展数据交换XDE之子形状的管理
  5. OpenCASCADE:Modeling Data之形状的属性
  6. BOOST_TEST_FOREACH宏相关的测试程序
  7. boost::python::wrapper相关的测试程序
  8. boost::mpl模块实现find_if相关的测试程序
  9. boost::hana::negate用法的测试程序
  10. boost::hash_combine模块实现json哈希值的测试程序