← 返回随写
2026/6/4
python脚本扫描
一个简易端口扫描
一、对python的解读+学习一个简易端口扫描
对python的解读
import是一个加载动作加载后面的模块,python是解释型语言需要对应的解释器每写一段就会现场读给cpu(C++是整体编译后交给cpu执行,python里面有个小的虚拟机pvm通过解读传过来的字节码解读需要什么就以2进制形式告诉cpu),python就是一个单纯的文件当运行python时会调用文件里对应的程序和解释器进行输出。
一、对python的解读+学习一个简易端口扫描
端口扫描
import socket
from datetime import datetime
# 设定目标(可以是你的服务器 IP)
target = "127.0.0.1"
def port_scan(target, port):
try:
# 创建一个 TCP 套接字
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
socket.setdefaulttimeout(1) # 设置超时
# 尝试连接
result = s.connect_ex((target, port))
if result == 0:
print(f"端口 {port} 是开放的 (Open)")
s.close()
except:
pass
# 扫描常用端口
print(f"正在扫描目标: {target} 开始时间: {datetime.now()}")
for port in [22, 80, 443, 3306, 8080]:
port_scan(target, port)
《代码的含义》 socket模块(工具箱)当我需要里面的xxx类的时候的时候直接调用socket.xxx类
‘.’指的是路径socket.setdefaulttimeout(1)去socket下的setdefaulttimeout函数
模块下是类再下面就是函数,函数才是最后执行操作的功能块
def定义的意思(图纸预存),def只读语法是否正确不执行
《代码的解读》
先调用一个库socket一个类datetime
定义target=IP地址
def定义图纸 (技能包)需要的时候就调用
try....except(防止出错)如果出错主程序不崩溃,去执行except里的内容。
s=(开启本地一个端口和连接的功能连接功能并保持1秒的超时)
result(执行s里的功能并加入ip和端口号)
if(进行判断当返回0正确时写出)
close(安全退出不占用端口的退出s进程,不继续连接)
显示攻击IP加现在的时间
定义端口并循环执行port_scan