首页 编程教程正文

python实现端口扫描low版本

piaodoo 编程教程 2020-02-22 22:04:01 897 0 python教程

本文来源吾爱破解论坛

本帖最后由 wushaominkk 于 2019-6-18 21:36 编辑

一次偶然的机会:写一个脚本 扫描主机端口 low

代码如下:
[Python] 纯文本查看 复制代码

#! /usr/bin/env python
# -*- coding: utf-8 -*-

import sys
import socket

# 端口扫描py脚本<主机>,开始端口至末尾端口

class scan():
    
    #定义打开、关闭的端口list
    host_port_open = list()
    host_port_close = list()

    def __init__(self, host_str, start_port, end_port):
        self.host_str = host_str
        self.start_port = int(start_port)
        self.end_port = int(end_port)

    def main_head(self):
        ## 遍历 用户传入的参数 起止端口
        for tmp in range(self.start_port, self.end_port):
            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            try:
                # 如果检测端口打开,则执行
                s.connect((self.host_str, tmp))
                s.shutdown(2)
                print('%s:%d is open ' % (self.host_str, tmp))
                #host_port_open.append("%s %s open" % (self.host_str, tmp))
                #print("list %s"  %host_port_open)
            except:
                # 如果检测端口关闭,则执行
                print('%s:%d is close ' % (self.host_str, tmp))
                #host_port_close.append(" %s %s close" % (self.host_str, tmp))
                #print("list %s" %host_port_close)


def main():
    # 获取用户输入的字符长度
    if len(sys.argv) == 4:
        ## 捕获异常
        try:
            host_ip = sys.argv[1]
            start_port = int(sys.argv[2])
            end_port = int(sys.argv[3])

        except Exception as ret:
            print("端口输入错误。。。。。")
            return
    else:
        print("请按照以下方式运行:")
        print("python3 xxxx.py host_ip start_port end_port")
        return

    # 打印传入的参数
    print(host_ip, start_port, end_port)
    ## 执行 scan 类,传入参数
    scaning = scan(host_ip, start_port, end_port)
    # 执行scan类 main_head 方法
    scaning.main_head()


if __name__ == "__main__":
    main() 


使用方法  python xxx.py ip 起端口 结尾端口
例如: python 脚本名称.py 192.168.1.1 20 80 扫描主机192.168.1.1 20-80端口
闲的无聊,勿喷!

版权声明:

本站所有资源均为站长或网友整理自互联网或站长购买自互联网,站长无法分辨资源版权出自何处,所以不承担任何版权以及其他问题带来的法律责任,如有侵权或者其他问题请联系站长删除!站长QQ754403226 谢谢。

有关影视版权:本站只供百度云网盘资源,版权均属于影片公司所有,请在下载后24小时删除,切勿用于商业用途。本站所有资源信息均从互联网搜索而来,本站不对显示的内容承担责任,如您认为本站页面信息侵犯了您的权益,请附上版权证明邮件告知【754403226@qq.com】,在收到邮件后72小时内删除。本文链接:https://www.piaodoo.com/7467.html

搜索