python扫描端口脚本

#!/usr/bin/python
#coding=utf-8
‘‘‘
一、socket模块的类方法:
socket.socket(family,type)——创建并返回一个新的socket对象
socket.getfqdn(name)——将使用点好分割的IP地址字符串转换成一个完整的域名
socket.gethostbyname(name)——将主机名解析为一个使用点号分隔的IP地址字符串
socket.fromfd(fd,family,type)——从现有文件描述符创建一个socket对象
二、socket模块的实例方法:
sock.bind((adrs,port))——将socket绑定到一个地址和端口上
sock.accept()——返回一个客户机socket(带有客户机端的地址信息)
sock.listen(backlog)——将socket设置成监听模式,可以监听backlog外来的链接请求
sock.connect((adrs,port))——将socket连接到定义的主机和端口上
sock.recv(buflen[,flags])——从socket中接受数据,最多buflen个字符
sock.send(data[,flags])——通过socket发送数据
sock.close()——关闭socket
sock.getsockopt(lvl,optname)——获得指定socket选项的值
sock.setsockopt(lvl,optname)——设定制定socket选项的值
‘‘‘
import socket, time, thread
socket.setdefaulttimeout(3)

def socket_port(ip,port):
"""
输入IP和端口号,扫描判断端口是否开放
"""
try:
if port>=65535:
print u‘端口扫描结束‘
s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
result=s.connect_ex((ip,port))
if result==0:
lock.acquire()
print ip,u‘:‘,port,u‘端口开放‘
lock.release()
s.close()
except:
print u‘端口扫描异常‘
def ip_scan(ip):
"""
输入IP,扫描IP的0-65534端口情况
"""
try:
print u‘开始扫描 %s‘ % ip
start_time=time.time()
#for i in range(0,65534):
for i in range(0,3308):
thread.start_new_thread(socket_port,(ip,int(i)))
print u‘扫描端口完成,总共用时 :%.2f‘ %(time.time()-start_time)
raw_input("Press Enter to Exit")
except:
print u‘扫描ip出错‘

if __name__==‘__main__‘:
url=raw_input(‘Input the ip you want to scan:\n‘)
lock=thread.allocate_lock()
ip_scan(url)

时间: 2024-08-01 10:46:01

python扫描端口脚本的相关文章

使用Python扫描端口

前几天看了个讲使用Python扫描端口的教程,看了之后自己也写了个扫描端口的脚本.记录下来,方便自己以后回顾. 运行效果如下: 具体代码如下,请指教. # -*- coding:utf8 -*- #!/usr/bin/python # Python:          2.7.8 # Platform:        Windows # Authro:          wucl # Program:         端口扫描 # History:         2015.6.1 import

python监控端口脚本

此脚本根据端口判断进程是否存活, 如果有指定的端口就证明进程是没问题的, 如果检测不到端口就是说业务进程已经挂掉了, 此时自动重启程序, 不多说下面请看脚本 创建脚本 我这里模拟的是nginx, 监控端口是9999, 如果您的是8080或者80, 可以自行更改,记得启动程序命令也需要修改喔, 这个脚本是linux中的, 如果是windows中的请看这里Windows server利用批处理脚本判断端口, 启动tomcat原理都是一样的, 换汤不换药. 里面也支持邮件提醒功能, 需要的自行配置.

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

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

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

做一个战士不是一件简单的事,这是一件无休止的,会持续到我们生命最后一刻的斗争.没有人生下来就是战士,就像没人生下来就注定庸碌,是我们让自己变成这样或者那样!--夏目漱石 设计思路:调用optparse.OptionParse()方法,构建选项分析器,接受主机名(或者IP地址),扫描的端口列表两个参数.构建两个函数PortScan和ConnScan,PortScan解析主机名成IP地址,然后枚举端口列表中的每个端口用ConnScan函数尝试连接主机,打印扫描端口的信息. 主函数代码: def ma

python扫描proxy并获取可用代理ip列表

mac或linux下可以work的代码如下: # coding=utf-8 import requests import re from bs4 import BeautifulSoup as bs import Queue import threading import random import re headers_useragents = [] headers_referers = [] headers_referers.append('http://www.google.com/?q=

使用Python统计端口TCP连接数

此脚本可以用来统计某个端口上连接的IP的数量,统计连接到这一端口的所有IP.最多的IP和次数以及TCP连接状态. 涉及到Python读取网络连接统计信息以及统计计算的一些基本操作.在编写脚本的过程中预先定义了统计信息的数据结构,在向最终结果中添加统计信息时需要用到list去重功能,因此临时创建了一个列表使用set()函数去重.set()函数不能直接add字典类型,因此先将字典转成可哈希的字符串,再将去重后的字符串转成字典.其中字典.列表和集合都属于不可哈希的类型. 此脚本可以用于Windows.

Python自动备份脚本

目的:为了解决修改关键或者基础数据导致项目出现问题,所以,备份是很有必要的,并且解决备份文件过多的问题. 前提:备份的本机必须安装Mysql,否则Mysql命令报错. 使用:linux一般自带python,执行脚本:python sql_bak.py 即可. (PS: 如果不小心python后面没输入内容,可输入exit()即可推荐python命令行) # -*- coding: utf-8 -*- # Import required python libraries # pancx 2019-

Python扫描指定目录下(包括子目录)的文件

扫描指定目录下的文件,或者匹配指定后缀和前缀的函数. 如果要扫描指定目录下的文件,包括子目录,调用scan_files("/export/home/test/") 如果要扫描指定目录下的特定后缀的文件(比如jar包),包括子目录,调用scan_files("/export/home/test/", postfix=".jar") 如果要扫描指定目录下的特定前缀的文件(比如test_xxx.py),包括子目录,调用scan_files("

Windows 2003/2008更改远程桌面端口脚本

保存为bat文件,点击运行按提示输入新端口自动完成,直接下载更改远程桌面端口脚本 @echo off color 0a title @@ 修改Windows XP/2003/2008远程桌面服务端口号 @@ echo ******************************************************************* echo * 请输入您要更改的远程桌面端口号,范围:1-65535,不能与其他端口冲突 * echo **********************