zoukankan      html  css  js  c++  java
  • 【Python】端口扫描脚本

     0x00   使用模块简介

    1、optparse模块

    选项分析器,可用来生成脚本使用说明文档,基本使用如下;

    import optparse

    #程序使用说明

    usage="%prog -H <target host> -p <target port>"

    #实例化optparse对象

    parser=optparse.OptionParser(usage)

    #添加-H参数相关内容

    parser.add_option('-H',dest='host',type='string',help='target host')

    #将上述dest赋给options的属性,即options.host,其值表示的是-H参数后的host值

    (options,args)=parser.parse_args()

    2、socket模块

    socket包含一个非常强大的网络库,用于网络编程,基本用法如下:

    #创建socket对象

    sock=socket(AF_INET,SOCK_STREAM) 

    #发起连接

    sock.connect((host,port))

    #发送数据

    sock.send()

    #接收数据

    sock.recv()

    #关闭

    sock.close()

    0x01   完整脚本

    #coding:utf-8
    
    import optparse
    import socket
    from socket import *
    
    def main():
        usage="%prog -H <target host> -p <target port>"
        parser=optparse.OptionParser(usage)
        parser.add_option('-H',dest='tgthost',type='string',help='target host')
        parser.add_option('-p',dest='tgtport',type='string',help='target port[s]')
        (options,args)=parser.parse_args()
        port_list=str(options.tgtport).split(',')
        for port in port_list:
            portScan(options.tgthost,int(port))
    
    def portScan(host,port):
        try:
            sock=socket(AF_INET,SOCK_STREAM)
            sock.connect((host,port))
            print "[*]%d/tcp open" % port
            sock.close()
        except:
            print "[*]%d/tcp close" % port
    
    if __name__=='__main__':
        main()

    0x02   运行截图

     0x03   问题记录

    简述自己遇到的几个坑:

    第一个是脚本执行一直报‘module’ object no attribute ‘OptionParser’,而且脚本是无任何错误的,

    最终发现是因为脚本名称和python模块名称重复了,然后改了下脚本名称,再删除之前脚本执行生成的pyc文件,

    之后脚本就可以正常运行了,一个脚本文件名引发的“血案”,望诸君留意,。。

    第二个是使用socket时需要

    import socket

    from socket import *

    如果不加上第二句,脚本执行会一直显示端口关闭。。。

  • 相关阅读:
    屠蛟之路_重伤的屠蛟俊_ThirdDay
    屠蛟之路_重登数据库大山_SecondDay
    屠蛟之路_你的名字_FirstDay
    Beta版本冲刺计划及安排
    软件工程作业1203
    导师互选系统 Alpha版冲刺总结
    屠龙之路_项目测试
    【Alpha】十天屠龙记
    屠龙之路_冲刺总结随笔
    My97日历控件常用功能记录
  • 原文地址:https://www.cnblogs.com/peterpan0707007/p/8953421.html
Copyright © 2011-2022 走看看