1、python渗透测试——扫描端口(笔记)

做一个战士不是一件简单的事,这是一件无休止的,会持续到我们生命最后一刻的斗争。没有人生下来就是战士,就像没人生下来就注定庸碌,是我们让自己变成这样或者那样!
——夏目漱石

设计思路:
调用optparse.OptionParse()方法,构建选项分析器,接受主机名(或者IP地址),扫描的端口列表两个参数。构建两个函数PortScan和ConnScan,PortScan解析主机名成IP地址,然后枚举端口列表中的每个端口用ConnScan函数尝试连接主机,打印扫描端口的信息。

主函数代码:

def main():
        parser = optparse.OptionParser(‘usage %prog -H <target host> -p <target port>‘)
        parser.add_option(‘-H‘,dest=‘tgtHost‘,type=‘string‘,
        help=‘specify target host‘)
        parser.add_option(‘-p‘,dest=‘tgtPort‘,type=‘int‘,
        help=‘specify target port‘)
        (options,args) = parser.parse_args()
        tgtHost = options.tgtHost
        tgtPort = options.tgtPort
        args.append(tgtPort)
        if (tgtHost == None) | (tgtPort == None):
                print(parser.usage)
                exit(0)
        portScan(tgtHost,args)

PortScann函数代码:

def portScan(tgtHost,tgtPorts):
        try:
                tgtIP = socket.gethostbyname(tgtHost)
        except:
                print("[-]Cannot resolve ‘%s‘:Unkown host" % tgtHost)
                return
        try:
                tgtName = socket.gethostbyaddr(tgtIP)
                print(‘\n[+]Scan Result for:‘+ tgtName[0])
        except:
                print(‘\n[+]Scan Result for:‘+ tgtIP)
        socket.setdefaulttimeout(1)
        for tgtPort in tgtPorts:
                print(‘Scanning port‘ + str(tgtPort))
                connScan(tgtHost,int(tgtPort))

ConnScan函数代码:

def connScan(tgtHost,tgtPort):
        try:
                connSkt = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
                connSkt.connect((tgtHost,tgtPort))
                connSkt.send(‘ViolenPython\r\n‘)
                results = connSkt.recv(100)
                print(‘[+]%d/tcp open‘ % tgtPort)
                print(‘[+]‘+str(results))
                connSkt.close()
        except:
                print(‘[-]%d/tcp closed‘ % tgtPort)

原文地址:http://blog.51cto.com/mbb97/2059864

时间: 2024-10-13 14:08:22

1、python渗透测试——扫描端口(笔记)的相关文章

Python渗透测试工具合集

Python渗透测试工具合集 如果你热爱漏洞研究.逆向工程或者渗透测试,我强烈推荐你使用 Python 作为编程语言.它包含大量实用的库和工具, 本文会列举其中部分精华. 网络 Scapy, Scapy3k: 发送,嗅探,分析和伪造网络数据包.可用作交互式包处理程序或单独作为一个库. pypcap, Pcapy, pylibpcap: 几个不同 libpcap 捆绑的python库 libdnet: 低级网络路由,包括端口查看和以太网帧的转发 dpkt: 快速,轻量数据包创建和分析,面向基本的

Metasploit 渗透测试魔鬼训练营读书笔记(连续更新一)

1.1 什么是渗透测试 1.1.1 渗透测试的起源与定义 如果大家对军事感兴趣,会知道各国军队每年都会组织一些军事演习来锻炼军队的攻防战术与作战能力.在信息科技的发源地--美国的军事演习中,将美军称为"蓝军",将假想敌称为"红军",而这种军事演习的方式也在20世纪90年代时,由美国军方与国家安全局引入到对信息网络与信息安全基础设施的实际攻防测试过程中.由一群受过职业训练的安全专家作为"红队"(Red Team),对接受测试的防御方"蓝队

扫描端口占用情况的python脚本

之前项目上线前,领导要求让写一个脚本用来判断端口的占用情况.由于现在python3使用也比较多,基于python2修改了一下,做了个python3版本的,现在做一下总结. 一.python脚本实现扫描端口: pthon2下代码如下(当时的环境): #!/usr/bin/env python # -*- coding:utf-8 -*- # used for pthon2.*    import socket, time, thread socket.setdefaulttimeout(3) #设

渗透测试、取证、安全和黑客的热门链接

你还在找一套工具,可以完成您的日常活动,或正在你只寻找新的工具,您可以尝试着玩?不需要担心,因为今天是你的幸运日 !今天,我将提到的链接. 资源和编辑的各种工具,可用于渗透测试. 计算机取证.安全.和黑客技术. ToolsWatch.org ToolsWatch.org 是由 NJ OUCHN (@toolswatch) 和 Maxi Solder(@maxisoler) 维护的.这是一个很酷的网站,您可以找到最新版本的审计. 渗透测试工具. web 应用安全顾问. 系统管理员. 网络管理员.

[Java]ping或扫描端口的工具类

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.InetSocketAddress; import java.net.Socket; import java.util.ArrayList; import java.util.HashMap; import java.util

Kail Linux渗透测试教程之ARP侦查Netdiscover端口扫描Zenmap与黑暗搜索引擎Shodan

Kail Linux渗透测试教程之ARP侦查Netdiscover端口扫描Zenmap与黑暗搜索引擎Shodan ARP侦查工具——Netdiscover Netdiscover是一个主动/被动的ARP侦查工具.该工具在不使用DHCP的无线网络上非常有用.使用Netdiscover工具可以在网络上扫描IP地址,检查在线主机或搜索为它们发送的ARP请求.下面将介绍Netdiscover工具的使用方法. 首先查看下Netdiscover工具的帮助信息,执行命令如下所示: [email protect

读书笔记 ~ Python黑帽子 黑客与渗透测试编程之道

Python黑帽子  黑客与渗透测试编程之道   <<< 持续更新中>>> 第一章: 设置python 环境 1.python软件包管理工具安装 [email protected]:~# apt-get install python-setuptools python-pip [email protected]:~# pip install github3.py [注]如果在安装的过程中出现:E: Sub-process /usr/bin/dpkg returned a

ARP扫描渗透测试 scapy模块 使用python

ARP扫描渗透测试 任务描述: 假定各位选手是TaoJin电子商务企业的信息系统安全工程师,负责该企业信息系统的安全维护,现欲对该系统中主机进行ARP扫描渗透测试,确认该系统中都有哪些IP主机在线. 1.进入虚拟机操作系统:Ubuntu Linux 32bit中的/root目录,完善该目录下的arp_sweep.py文件,填写该文件当中空缺的Flag1字符串,将该字符串作为Flag值(形式:Flag1字符串)提交:(arp_sweep.py脚本功能见该任务第6题) 2.进入虚拟机操作系统:Ubu

Brup Suite 渗透测试笔记(三)

接上次笔记 一.对BurpSuite Target的功能吧组件主要用 站点地图(SiteMap),目标域设置(TargetScope),Target工具三部分组成 1.这里先说明Scope的作用, 限制站点地图和Proxy的历史内容的显示结果,设置Burp Proxy拦截请求,BurpSpider抓取那些内容,Burp Scanner自动扫描那些作用域的安全漏洞,在Burp intruder和Burp Repeater中指定URL,通过Target Scope可以方便的控制Burp的拦截功能,拦