Python写一个简单的端口扫描器

前言

在日常的信息收集工作中,我们可以用Nmap来对目标进行信息收集,但这只是一般情况,在特殊情况中,比如我们没有任何工具来帮助我们收集信息,(假设)我们有Python环境,我们就需要自己手工编写工具,同时这不光是解决了特殊的情况,而且可以更好的理解端口扫描工具的工作原理(实践往往要比理论重要的多)

思路

思路非常简单,我们向目标主机的某个端口发送一个请求,然后接受端口发送回来的响应,如果这个端口存在,就可以接受到响应,如果不存在就没有响应。

代码部分

import socket # 导入socket模块
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 创建套接字对象
host='www.baidu.com' # 这个是对于网站扫描而言,如果不是扫描网站主机,可以直接填写IP地址
hostIP=socket.gethostbyname(host) # 获取网站域名对应的IP地址
port=80 # 要扫描的端口
try:
    c=socket. connect((hostIP,port)) # 尝试连接端口
    print('开放的端口:',port) # 如果连接成功,返回成功信息
except:
    print('未开启的端口:',port) # 如果连接失败,返回失败信息
posted @ 2023-01-20 14:38  Soke-Mile  阅读(97)  评论(0)    收藏  举报