Python实现端口扫描
什么是端口扫描
定义:对一段端口或指定的端口进行扫描。
目的:通过扫描结果可以知道一台计算机上都提供了哪些服务,然后就可以通过所提供的这些服务的己知漏洞就可进行攻击。
原理:当一个主机向远端一个服务器的某一个端口提出建立一个连接的请求,如果对方有此项服务,就会应答,如果对方未安装此项服务时,即使你向相应的端口发出请求,对方仍无应答。
利用:对所有熟知端口或自己选定的某个范围内的熟知端口分别建立连接,并记录下远端服务器所给予的应答,便可知道哪些端口是开放的。
最强端口扫描神器:Nmap:https://nmap.org/
Python Socket实现端口扫描器
原理:socket.connect_ex((ip, port)),端口开放则返回0,否则返回错误代码
from os import name
import threading
from socket import *
import tqdm # 进度条,可自行加上lock = threading.Lock() # 确保 多个线程在共享资源的时候不会出现脏数据
openNum=0 # 端口开放数量统计
threads=[] # 线程池def portscanner(host,port):global openNumtry:s=socket(AF_INET,SOCK_STREAM)s.connect((host,port))lock.acquire()openNum+=1print(f"{port} open")lock.release()s.close()except:passdef main(ip,ports=range(65535)): # 设置 端口缺省值0-65535setdefaulttimeout(1)for port in ports:t=threading.Thread(target=portscanner,args=(ip,port))threads.append(t)t.start()for t in threads:t.join()print(f"PortScan is Finish ,OpenNum is {openNum}") if __name__ == '__main__':ip='10.0.11.11'# main(ip,[22,101,8080,8000]) # 输入端口扫描main(ip) # 全端口扫描
Python实现端口扫描相关推荐
- 使用Python进行端口扫描
使用Python进行端口扫描 本文最后更新于2018-6-20,可能会因为没有更新而失效.如已失效或需要修正,请联系我! GitHub地址:https://github.com/zhang0peter ...
- python多线程端口扫描
利用python多线程的性质,写了一个扫描目标主机开放端口的程序 程序功能: 输入目标ip地址,程序执行扫描,讲扫描到的端口,存入test.tst文件 附上代码: import telnetlib i ...
- python多线程端口扫描程序
下面的程序给出了对给定的ip主机进行多线程扫描的python代码 #!/usr/bin/env python #encoding: utf-8import socket, sys, thread, t ...
- python工具打造之实现端口扫描
Python实现端口扫描 工欲善其事必先利其器,所以有时我们就需要编写自己的脚本工具. 下面带来python实现目标端口扫描的教程,希望对大家所帮助. 注意:从2.7版本后不再使用:optparse模 ...
- python扫描器_7.python实现高效端口扫描器之nmap模块
对于端口扫描,使用的最多的就是nmap这个工具,不想python已经强大到,提供了nmap这个扫描端口的模块. 本片文章主要介绍nmap模块的两个常用类: PortScanner()类,实现一个nma ...
- python扫描端口脚本_Python实现的端口扫描功能示例
本文实例讲述了Python实现的端口扫描功能.分享给大家供大家参考,具体如下: 一 代码 import sys import socket import multiprocessing def por ...
- php 根据ip 扫描端口,python实现指定ip端口扫描方式
在Linux中判断一台主机是否可达,可以使用ping命令,而判断端口是否打开,可以使用telnet命令,但是telnet命令没有超时时间的参数,使用起来不是很方便,那么可以利用Python来完成一个端 ...
- linux 多线程端口扫描,python 多线程完成linux服务器端口扫描
人性化交互式python脚本,采用多线程方式完成linux服务器开放端口扫描: 以下为完整代码: #!/usr/bin/env python #-*- coding: UTF-8 -*- #func ...
- python扫描端口脚本_Python端口扫描简单程序
本文实例为大家分享了Python端口扫描的实现代码,供大家参考,具体内容如下 获取本机的IP和端口号: import socket def get_my_ip(): try: csock = sock ...
- python 指定端口读取网站_Python实现局域网指定端口扫描
Python实现局域网指定端口扫描 import socket import threading # 创建接收路由列表 routers = [] # 创建互斥锁 lock = threading.Lo ...
最新文章
- pmp matlab 代码,【welch功率谱估计】C语言实现的代码与matlab计算结果不同
- 详解void 0与undefined区别
- 简单团队-爬取豆瓣电影T250-项目进度
- 对DataTable的一些解释
- STM32 输入捕获功能
- android setCompoundDrawables和setCompoundDrawablesWithIntrinsicBounds区别
- HTML中元素的position属性详解
- ubuntu下配置SSD网络全过程
- 7wifi模块多少钱_APP开发要多少钱?创业者估算成本的四个方法
- “欣喜”和“郁闷”交织的2006
- 解决linux共享文件夹丢失的问题
- 宏碁电脑重装win10系统教程,宏碁怎么重装系统win10
- Zookeeper+ActiveMQ集群搭建
- 传奇服务器修改万年雪霜,传说之万年雪霜(一)
- codeforces 136A(Presents) Java
- 论文阅读 Glow: Generative Flow with Invertible 1×1 Convolutions
- 思维导图软件测评Draw、Gitmind、Xmind、Effie、Miro、Excalidraw
- Learning Better Lossless Compression Using Lossy Compression
- 亿图图示----MindMaster思维导图示例
- php如何实现余额充值,请问应用中实现绑定银行卡并进行消费、充值、提现一般是怎么搞的?...
热门文章
- 模型训练测试之三:yolov5 模型训练及windows部署(一)
- 训练集,验证集,测试集分别是什么
- c语言画bode图程序,根据上位机测得的Bode图的幅频特性,就能确定系统(或环节)的相频特性,试问这在什么系统时才能实现?...
- 关于ASCII码和机内码
- 2018年美赛E题M奖论文心得分享
- oracle11g安装程序闪退,win10安装oracle11g-client闪退
- 嵌入式开发--Altuim Designer生成的PCB文件过大,及其他日常技巧
- Java之映射(map)
- 网易云linux版本下载
- Linux查找启动的隐藏服务,Linux服务器入侵检测排查方法