Python--简单的端口扫描器
来源:互联网 发布:js改变inpute宽度 编辑:程序博客网 时间:2024/04/28 03:10
Python端口扫描器
最近开始看Python网络编程,写了一个简单的端口扫描器,原理很简单。就是用socket连接对应的端口,若能连接成功则端口开启,否则关闭。这是一个命令行工具,在命令行下运行:
Scan.py www.csdn.net显示如图:
对于其中的几个点做下说明:
1、gethostbyname() 获取远程设备的IP地址
2、sys.argv 获取命令行参数,其中argv[0]是程序的路径
#-*- coding:utf-8 -*-#2105-03-18#定义扫描的端口Port = [ 80,21,23,22,25,110,443,1080,3306,3389,1521,1433]#定义端口对应的服务Server = ['HTTP','FTP','TELNET','SSH','SMTP','POP3','HTTPS','SOCKS','MYSQL','Misrosoft RDP','Oracle','Sql Server']import socket import sys#获取目标站点的IP地址def get_remote_machine_info(Domain): try: return socket.gethostbyname(Domain) except socket.error,e: print '%s: %s'%(Domain,e) return 0#进行扫描def scan(Domain): IP = get_remote_machine_info(Domain) if IP: result = [] for port,server in zip(Port,Server): temp = [] try: s = socket.socket() print "Attempting to connect to "+Domain+': '+str(port) s.connect((Domain,port)) #print 'Port '+str(port)+' open:\n' temp.append(port) temp.append(server) result.append(temp) s.close() except:pass if result: print '\n'+Domain+': --> '+IP print '\nThe Open Port:' for i in result: print Domain+': %4d -->%s'%(i[0],i[1]) def main(): print '''\nX-man Port Scan 1.0playload:./Scan.py www.xxx.zzz''' payload = sys.argv print '\n' scan(payload[1])if __name__=='__main__': main()
这个程序扫内网地址还挺快的,但是扫外网的有些端口比较慢,还有待优化!
0 0
- Python--简单的端口扫描器
- Python--简单的端口扫描器(二)
- python 实现简单的端口扫描器
- 基于Python的端口扫描器
- 一个简单的php在线端口扫描器
- 一个简单的php在线端口扫描器
- 一个简单的php在线端口扫描器
- 一个简单的php在线端口扫描器
- 计算机网络——简单的端口扫描器
- 用golang写的简单端口扫描器
- Tcp 端口扫描器 (Python)
- python端口扫描器
- python多线程端口扫描器
- python-nmap模块的使用及制作一个简单的端口扫描器
- 端口扫描器的实现
- 端口扫描器的实现
- Delphi开发简单端口扫描器
- python 多线程单端口扫描器
- ANDROID自定义控件——onMeasure,MeasureSpec源码 流程 思路详解
- 这几天开发中碰到的问题
- 使用继承需要注意事项
- android利用SQLiteOpenHelper类实现对数据库的增删查改操作
- 每日一佳——Structure Preserving Embedding(Blake Shaw et al. ,ICML,2009)
- Python--简单的端口扫描器
- C语言enum枚举类型
- JAVA基础复习:涉及并发的一些基础概念
- Java学习——内部类
- CALayers 实现带圆角和阴影的图片
- 程序员面试:电话面试问答Top 50
- 走迷宫
- chrome.tabs.onUpdated.addListener的应用
- matlab中text 函数在显示字符串时的使用方法