iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >利用Python脚本写端口扫描器socket,python-nmap
  • 563
分享到

利用Python脚本写端口扫描器socket,python-nmap

2024-04-02 19:04:59 563人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录Socket模块编写扫描给定主机是否开放了指定的端口python-nmap模块编写 扫描给定ip或给定网段内指定端口是否开放前言: 一个用Python写的简单的端口扫描

前言:

一个用Python写的简单的端口扫描器,python环境为 3.7.0,windows系统

Socket模块编写

扫描给定主机是否开放了指定的端口

tcp连接扫描是利用TCP的三次握手来确定主机的端口是否开放。确定主机端口开放之后,给端口发送消息,接收端口返回的消息,然后判断该端口运行的服务。

使用时,-H 参数可以提供主机的域名或者ip地址,-p/-P 写要扫描的端口,多个端口用逗号分隔

# -*- coding: utf-8 -*-
import optparse
from socket import *
import threading
threadLock=threading.Lock() #实例化threadLock对象
def connScan(Host,Port):
try:
conn=socket(AF_INET,SOCK_STREAM)
conn.connect((Host,Port))
conn.send('test message'.encode("utf-8")) #发送测试信息给端口
results=conn.recv(100) #接收主机返回的信息
threadLock.acquire() #加
print('[+]%d/tcp open'% Port)
print('[+] '+results.decode("utf-8"))
conn.close()
except Exception as e:
threadLock.acquire()
print(e)
print('[-]%d/tcp closed'% Port)
finally:
threadLock.release() #释放锁
conn.close()
def portScan(Host,Ports):
try:
IP=gethostbyname(Host) ##获得对应主机的ip地址
except:
print("[-] Cannot resolve '%s':Unknown host" %Host)
return
try:
Name=gethostbyaddr(Host) ##获得ip对应主机的信息
print ("\n[+] Scan Results for:"+Name[0])
except:
print ("\n[+] Scan Results for:"+IP)
setdefaulttimeout(1)
for Port in Ports:
print ("Scanning port "+Port)
connScan(Host,int(Port))
def main():
usage="usage %prog -H <target host> -p/-P <target ports>"
parser=optparse.OptionParser(usage) #创建对象实例
parser.add_option('-H',dest='Host',type='string',help='target host') ##需要的命令行参数
parser.add_option('-P','-p',dest='Ports',type='string',help='target ports')
(options,args)=parser.parse_args()
Host=options.Host
Ports=str(options.Ports).split(',')
if (Host==None)|(Ports==None): ##如果主机和端口都是空的话
print(parser.usage)
exit(0)
portScan(Host,Ports)
if __name__=='__main__':
main()

python-nmap模块编写 

我们还可以通过调用nmap进行端口扫描。

扫描给定ip或给定网段内指定端口是否开放

-H 参数可以扫描一个ip地址也可以扫描一个网段,-p 只能指定一个端口

# -*- coding: utf-8 -*-
import nmap
import optparse

def Test(Hosts,port):
nm=nmap.PortScanner()
nm.scan(Hosts,port)
port_int=int(port) #将端口从字符串转化为int类型的
for t in nm.all_hosts():
if nm[t].has_tcp(port_int): #如果445端口提供了TCP协议
state=nm[t]['tcp'][port_int]['state'] #判断该TCP 445 端口的状态
if state=='open':
print ('[+]Found Target Host:'+t)
return
def main():
usage="usage %prog -H <target host> -p/-P <target port>"
parser=optparse.OptionParser(usage) #创建对象实例
parser.add_option('-H',dest='Host',type='string',help='target host') ##需要的命令行参数
parser.add_option('-P','-p',dest='Port',type='string',help='target ports')
(options,args)=parser.parse_args()
Hosts=options.Host
Port=options.Port
if (Hosts==None)|(Port==None): #如果主机和端口都是空的话
print(parser.usage)
exit(0) #退出
else:
Test(Hosts,Port)
if __name__=='__main__':
main()

到此这篇关于利用Python脚本写端口扫描器socket,python-nmap的文章就介绍到这了,更多相关Python socket,python-nmap内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 利用Python脚本写端口扫描器socket,python-nmap

本文链接: https://www.lsjlt.com/news/119564.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 利用Python脚本写端口扫描器socket,python-nmap
    目录Socket模块编写扫描给定主机是否开放了指定的端口python-nmap模块编写 扫描给定ip或给定网段内指定端口是否开放前言: 一个用python写的简单的端口扫描...
    99+
    2024-04-02
  • python使用nmap端口扫描
    第一版:只支持以逗号分隔的端口,不支持端口范围   Firstly:      sudo apt-get install nmapSecondly:pip install python-nmapThirdly:copy the code b...
    99+
    2023-01-31
    端口扫描 python nmap
  • Python利用tkinter和socket实现端口扫描
    目录题目参考code题目 请设计并实现一款主机端口扫描程序。程序根据用户输入的域名或IP地址,可以查询该主机的开放的端口号。 例如: 并有一定的异常处理 参考code impor...
    99+
    2022-12-08
    Python tkinter socket端口扫描 Python socket端口扫描 Python 端口扫描
  • Python利用socket实现多进程的端口扫描器
    作为开发人员经常需要查看服务的端口开启状态判断服务是否宕机。 特别是部署的服务比较多的情况下,可能存在几个甚至几十个服务端口的占用,于是我利用socket不断向服务发送请求的方式来判...
    99+
    2022-12-08
    Python socket多进程端口扫描 Python socket 端口扫描 Python 端口扫描
  • 扫描端口占用情况的python脚本
        之前项目上线前,领导要求让写一个脚本用来判断端口的占用情况。由于现在python3使用也比较多,基于python2修改了一下,做了个python3版本的,现在做一下总结。一、python脚本实现扫描端口:    pthon2下代码如...
    99+
    2023-01-31
    端口 脚本 情况
  • 如何用Python编写nmap扫描工具
    这篇文章主要介绍“如何用Python编写nmap扫描工具”,在日常操作中,相信很多人在如何用Python编写nmap扫描工具问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用Python编写nmap扫描工具...
    99+
    2023-06-20
  • Python怎么用tkinter和socket实现端口扫描
    这篇文章主要介绍“Python怎么用tkinter和socket实现端口扫描”,在日常操作中,相信很多人在Python怎么用tkinter和socket实现端口扫描问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答...
    99+
    2023-07-04
  • PyHacker编写指南引用Nmap模块实现端口扫描器
    目录编写:调试扫描:方法扫描端口输出状态:引用Nmap库实现扫描功能,本节课比较简单一看就会。 编写环境:Python2.x 编写: 首先安装Nmap程序,并添加环境变量 pip i...
    99+
    2024-04-02
  • Python开发端口扫描器
    首先是最常用的端口扫描器: 虽说有nmap等强大的工具,不过如果由于条件限制无法安装Nmap呢?   我这个脚本写的比较简单,默认扫描1-65535全部的端口 实际的话,可以根据需要自己修改脚本来实现定制化扫描 # -*- coding...
    99+
    2023-01-30
    扫描器 端口 Python
  • 用Python编写一个高效的端口扫描器
    PyPortScanner Github 背景 具体实现 I 利用TCP握手连接扫描一个给定的ipport地址对 II 多线程扫描端口 III 多线程扫描多个网站 IV 总结利用这些代码扫描给定网站并输出结果 ...
    99+
    2023-01-31
    扫描器 高效 端口
  • 利用Python实现端口扫描器的全过程
    目录socket概念 socket基本用法 创建tcp套接字 创建udp套接字 socket内建方法实现端口扫描 总结socket概念 socket又称套接字,可以看做是不同主机之...
    99+
    2024-04-02
  • 基于Python编写一个简单的端口扫描器
    目录1、需要的库2、获取一个 host 地址3、循环所有的端口4、完整脚本端口扫描是非常实用的,不止用在信息安全方面,日常的运维也用得到。这方面的工具也不要太多,搞过 CTF 的朋友...
    99+
    2024-04-02
  • 利用python写的web路径扫描工具
    本篇内容介绍了“利用python写的web路径扫描工具”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!现成的WEB路径扫描工具颇多,但都不尽如...
    99+
    2023-06-17
  • Python写安全小工具之TCP全连接端口扫描器
    目录一个简单的端口扫描器多线程版本前言: 通过端口扫描我们可以知道目标主机都开放了哪些服务,下面通过TCP connect来实现一个TCP全连接端口扫描器。 一个简单的端口扫描器 #...
    99+
    2024-04-02
  • 用Python实现一个端口扫描,只需简单
    0、秘密扫描 秘密扫描是一种不被审计工具所检测的扫描技术。 它通常用于在通过普通的防火墙或路由器的筛选(filtering)时隐藏自己。 秘密扫描能躲避IDS、防火墙、包过滤器和日志审计,从而获取目标端口的开放或关闭的信息。由于没有包含...
    99+
    2023-01-30
    只需 简单 端口扫描
  • 如何利用Python实现自动扫雷小脚本
    小编给大家分享一下如何利用Python实现自动扫雷小脚本,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、准备工作1.扫雷游戏我是win10,没有默认的扫雷,所以...
    99+
    2023-06-15
  • Python项目实战:使用多线程进行TCP端口扫描
    前言今天为大家一个利用Python扫描开放主机的TCP端口,首先你要查看其中的开放的端口,创建一个TCP全连接扫描器,一般使用socket来创建连接器的,测试当前主机和端口是否开放,直接使用socket连接导入第三方库...
    99+
    2023-06-02
  • 利用Python编写的实用运维脚本分享
    目录1. 执行外部程序或命令2. 文件和目录操作(命名、删除、拷贝、移动等)3. 创建和解包归档文件参考Python在很大程度上可以对shell脚本进行替代。笔者一般单行命令用she...
    99+
    2024-04-02
  • 如何使用Python编写分布式系统中的二维码扫描器?
    二维码扫描器在分布式系统中是非常常见的需求,例如在物流、仓储、制造等领域中,需要快速、准确地扫描二维码来实现物品的追踪、管理和溯源。Python 作为一种流行的编程语言,在分布式系统中也被广泛应用。本文将介绍如何使用 Python 编写分布...
    99+
    2023-10-02
    关键字 二维码 分布式
  • 利用Python编写本地音乐播放器
    先上完整代码: 修改文件夹路径即可运行 # -*- encoding: utf-8 -*- ''' @Description:       : @Date     :2022/03/...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作