首先是最常用的端口扫描器:

虽说有nmap等强大的工具,不过如果由于条件限制无法安装Nmap呢?

我这个脚本写的比较简单,默认扫描1-65535全部的端口

实际的话,可以根据需要自己修改脚本来实现定制化扫描

# -*- coding:utf-8 -*-
__author__ = "Yiqing" import socket
import time
import thread
import optparse
import re socket.setdefaulttimeout(3) def port_scan(ip, port):
"""
对某一个IP的某一个端口进行扫描
:param ip: 目标
:param port: 端口
:return: None
"""
try:
if port > 65535 or port < 1:
print "[!] Port Scan End"
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result = s.connect_ex((ip, port))
if int(result) == 0:
lock.acquire()
print "[-] IP:" + str(ip) + " Port:" + str(port) + " Open"
lock.release()
s.close()
except Exception:
pass def ip_scan(ip):
"""
对IP的所有端口扫描
:param ip:目标
:return: None
"""
try:
print "[*] Start Port Scan : " + ip
start_time = time.time()
for port in range(1, 65535):
thread.start_new_thread(port_scan, (ip, int(port)))
print "[+] Port Scan Complete! Time:" + str(time.time() - start_time)
except Exception:
pass def main():
"""
输入参数处理
:return: None
"""
print "Welcome to PortScanner"
print "Author: %s Version:1.0" % __author__
parse = optparse.OptionParser(
'python %prog -H <target host>')
parse.add_option('-H', dest="target_host", type="string", help='specify the host')
(options, args) = parse.parse_args()
target_host = options.target_host
if target_host is not None and re.match(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', target_host):
ip_scan(target_host)
else:
exit() if __name__ == '__main__':
lock = thread.allocate_lock()
main()
time.sleep(3)
raw_input("Press Enter to Exit")

使用:

Python开发端口扫描器的更多相关文章

  1. python实现端口扫描器/DoS/DDoS

    整理github,梳理下Python小工具.以下是python实现的DoS/DDoS/端口扫描器(github). 一.DoS SYN Flood是当前最流行的DoS(拒绝服务攻击)与DdoS(分布式 ...

  2. Python之端口扫描器编写

    其实,写个扫描器也挺好玩的,牵涉到了RAW Socket编程,可以尽情地DIY数据包(当然,不符合数据包规则,比如checksum错误就没办法了),收获颇深.其中,我觉得用C语言写更有利于在编写过程中 ...

  3. 再议perl写多线程端口扫描器

    再议perl写多线程端口扫描器 http://blog.csdn.net/sx1989827/article/details/4642179 perl写端口多线程扫描器 http://blog.csd ...

  4. Python与Hack之window下运行带参数的Python脚本,实现一个简单的端口扫描器

    1.前提是:windows已经配置好Python的环境变量: 2.进入cmd命令行模式: **输入python命令,检测是否环境配置好:显示这样说明配置环境变量没问题 **用cd命令进入Python脚 ...

  5. python端口扫描器

    吃了个火鸡面后感觉到了怀疑人生!!!!!!!!!妈耶,在也不吃了.思路都给辣没了!!! python端口扫描器代码如下: #-*-coding:utf-8 from socket import * i ...

  6. python实现FTP弱口令扫描器与简单端口扫描器

    python实现FTP弱口令扫描器与简单端口扫描器 目录 FTP弱口令扫描器 简单端口扫描器 参考: https://blog.csdn.net/rebelqsp/article/details/22 ...

  7. 使用Python编写简单的端口扫描器的实例分享【转】

    转自 使用Python编写简单的端口扫描器的实例分享_python_脚本之家 http://www.jb51.net/article/76630.htm -*- coding:utf8 -*- #!/ ...

  8. Python脚本写端口扫描器(socket,python-nmap)

    目录 Socket模块编写 扫描给定主机是否开放了指定的端口 python-nmap模块编写 扫描给定ip或给定网段内指定端口是否开放 一个用python写的简单的端口扫描器,python环境为 3. ...

  9. 『Python』 多线程 端口扫描器

    0x 00 Before Coding 当端口打开时,向端口发送 TCP SYN 请求,会返回一个 ACK 响应: 当端口关闭,返回的是 RST 响应: 0x 01 Coding  可以用 socke ...

随机推荐

  1. c++常用小算法

    这篇文章列出了一些简单常用的C++容器算法,C++标准库中事实上提供了很多的算法并且有详细的介绍.如果需要详细的了解这些算法可以 参考C++在线参考手册 algrithm . 1 排序 在 #incl ...

  2. 一个不错的多叉树, stl风格

    tree<std::string> tr9; tree<std::string>::pre_order_iterator iter1; tr9.set_head("h ...

  3. oracle12C安装步骤

    首先去官网下载两个架包链接如下:官网链接 第一步:将两个架包解压到同一个database目录下.如截图所示: 第二步:打开setup应用程序 打开后就到了下面这个页面 第三步:配置安全更新 环境变量配 ...

  4. css设置文本自动换行

    .wrap-90 { display: inline-block; word-wrap: break-word;//对块级元素设置此属性 width: 90px;}

  5. SqlServer2012,设置指定数据库对指定用户开放权限

    REVOKE VIEW ANY DATABASE TO [public] --这个是取消数据库公开的权限,也就是除了sa角色外任何人都不能查看数据库 -- 现在用sa用户登录Use [要开放权限的数据 ...

  6. 用turtle库实现汉诺塔问题~~~~~

    汉诺塔问题 问题描述和背景: 汉诺塔是学习"递归"的经典入门案例,该案例来源于真实故事.‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬ ...

  7. 《修炼之道:.NET开发要点精讲》读书笔记(三)

    后几章的习题 1.异步调用开始后,什么时候才能使用异步执行的结果? A:最好在EndInvoke()方法返回之后才能使用异步执行的结果,其它时候不能保证异步调用已完成. 2.委托的异步调用开始后(即调 ...

  8. Startls Back 引起的 win10升级之后的闪屏问题

    win10 更新之后出现闪频问题. 有人说是和startls back 有关,需要卸载startls back, 但是进入安全模式下显示此 程序无法打开,无法卸载. 后来看到有人更新到startls ...

  9. Java:ConcurrentHashMap的锁分段技术

    术语定义 术语 英文 解释 哈希算法 hash algorithm 是一种将任意内容的输入转换成相同长度输出的加密方式,其输出被称为哈希值.  哈希表 hash table 根据设定的哈希函数H(ke ...

  10. 计蒜客 2019 蓝桥杯省赛 B 组模拟赛(三)数字拆分

    #include<iostream> #include<cstring> #include<cstdio> #include<algorithm> us ...