import socket
import threading# 创建接收路由列表
routers = []# 创建互斥锁
lock = threading.Lock()# 设置需要扫描的端口号列表
port_list = ['3389', '2425','139']# 定义查询路由函数
def search_routers():# 获取本地ip地址列表local_ips = socket.gethostbyname_ex(socket.gethostname())[2]# print(local_ips)# 存放线程列表池all_threads = []# 循环本地网卡IP列表for ip in local_ips:for i in range(1, 255):# 把网卡IP"."进行分割,生成每一个可用地址的列表array = ip.split('.')# 获取分割后的第四位数字,生成该网段所有可用IP地址array[3] = str(i)# 把分割后的每一可用地址列表,用"."连接起来,生成新的ipnew_ip = '.'.join(array)# print(new_ip)# 遍历需要扫描的端口号列表for port in port_list:dst_port = int(port)# 循环创建线程去链接该地址t = threading.Thread(target=check_ip, args=(new_ip, dst_port) )t.start()# 把新建的线程放到线程池all_threads.append(t)# 循环阻塞主线程,等待每一字子线程执行完,程序再退出for t in all_threads:t.join()# 创建访问IP列表方法
def check_ip(new_ip, port):# 创建TCP套接字,链接新的ip列表scan_link = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 设置链接超时时间scan_link.settimeout(2)# 链接地址(通过指定我们 构造的主机地址,和扫描指定端口)result = scan_link.connect_ex((new_ip, port))#scan_link.close()# print(result)# 判断链接结果if result == 0:# 加锁lock.acquire()print(new_ip, '\t\t端口号%s开放' % port)routers.append((new_ip, port))# 释放锁lock.release()# print(routers)print("正在扫描..., 请稍等...")# 启动程序入口
if __name__ == '__main__':# 启动扫描程序search_routers()

Python实现局域网IP端口扫描相关推荐

  1. php 根据ip 扫描端口,python实现指定ip端口扫描方式

    在Linux中判断一台主机是否可达,可以使用ping命令,而判断端口是否打开,可以使用telnet命令,但是telnet命令没有超时时间的参数,使用起来不是很方便,那么可以利用Python来完成一个端 ...

  2. python实现指定ip端口扫描

    在Linux中判断一台主机是否可达,可以使用ping命令,而判断端口是否打开,可以使用telnet命令,但是telnet命令没有超时时间的参数,使用起来不是很方便,那么可以利用Python来完成一个端 ...

  3. python 指定端口读取网站_Python实现局域网指定端口扫描

    Python实现局域网指定端口扫描 import socket import threading # 创建接收路由列表 routers = [] # 创建互斥锁 lock = threading.Lo ...

  4. Python编程--使用NMAP端口扫描

    Python编程–使用NMAP端口扫描 安装好Python-Namp模块,(pip install python-nmap).创建一个PortScanner()类对象,这使我们能用这个对象完成扫描操作 ...

  5. 如何让本地局域网IP端口映射到域名

    外网用户不能通过访问内网IP来实现访问我们的FTP.Web.SVN等应用服务器,也不能直接通过内网IP来远程桌面到内网主机电脑.对于外网用户,起唯一地址作用的就是域名,你的服务器是需要让外网能够识别的 ...

  6. 内网IP端口扫描统计+服务识别简单思路

    前提:内网是10网段的,几乎所有机器都开了80和22端口,所以以此为依据认为扫描到的都是在线的IP. 目标是得到在线的IP启动了哪些端口,尽量猜测端口对应的服务. Centos7 (macos用bre ...

  7. python pip scanless 在线端口扫描网站 匿名端口扫描工具 简介

    目录 scanless介绍 scanless安装与使用 scanless支持的在线端口扫描网站 在python中 库的使用方式 scanless介绍 官网地址:github.com/vesche/sc ...

  8. python arp协议分析_通过python对本局域网进行ARP扫描获取MAC

    #!/usr/local/bin/python3 """ 对本局域网进行ARP扫描 ARP (Address Resolution Protocol,ARP); 以太网M ...

  9. python——利用nmap进行端口扫描,爆破ftp密码,上传wellshell.

    一.端口扫描 首先安装nmap与python-nmap模块.从http://nmap.org/download.html网站下载nmap安装文件.从http://xael.org/norman/pyt ...

最新文章

  1. 激光雷达(LiDAR)点云数据知多少?
  2. python 打开网页、封装自己的浏览器、制作浏览器、打开麦克风和摄像头、忽略ssl证书错误、置顶、无边框
  3. @EnableAsync @Async 的详解
  4. 关于反爬虫,看这一篇就够了 1
  5. java 内存数据库 sql_ssm+redis +Maven用于内存数据库 (No Sql)入门demo
  6. MapReduce编程实践之自定义数据类型
  7. 微博回应裁员;罗永浩股权被冻结;“隐形贫困”人群最爱苹果 | 极客头条
  8. java中的继承(一)
  9. Windows Service开发点滴20130622
  10. NBA球星为啥那么多顶薪?数据可视化为你揭晓真相
  11. 5.4 continue,break跳出循环
  12. 安装caffe时候找不到boost怎么办?(boost的引用问题make can‘t find Boost‘s include files)
  13. Unity制作游戏自定义按键
  14. 为什么C语言执行效率高,运行快?
  15. android系统wifi控制风扇,可手机APP控制的机箱风扇,光污染新玩法
  16. Linux环境下无盘工作站的架设和实现一(转)
  17. 中兴机试 通信算法方向 秋招春招
  18. AI岗位平均月薪2.58w,如何抓住这波人才红利?
  19. router-link使用详解
  20. 【课程笔记】计算机体系结构复习笔记

热门文章

  1. 计算机应届生就业,应届生计算机专业发展方向以及计算机专业就业前景
  2. java的memset怎么写_memset函数使用详解
  3. 经纬度坐标转化为XYZ坐标的理解
  4. OOM终结者参数调优
  5. 相比32位, 64位的优势是什么?
  6. java实现时钟表盘教程方法
  7. 耗时一个星期整理的APP自动化测试工具大全
  8. mysql 证件号只显示后四位,其他星号表示
  9. 求1到100之间的奇数之和、偶数之积。
  10. Primavera P6打补丁patch,从19.12.0.0升级到19.12.11.0