目录
技能展示
文章
日记
时间线
项目展示
分类
标签
Android Bash Burp C++ CS CTF DLL劫持 Docker Fastjson Fastjson2 FNV-1a FreeCMS FRP GetShell GitHub IPv6 Java JNDI John JS加密 JS逆向 K8s Kafka Kali lama-cleaner Linux mitmproxy MSF MySQL Nim Nmap NPS Office OID Payload Phar PHP phpMyAdmin POP链 PWN Pyinstaller Python RCE RSA Shellcode SNMP SQL注入 SSH SSRF Ubuntu USB Web Webshell Web安全 Windows XSS YAML Zookeeper 主机探测 代码审计 伪协议 免杀 内网 内网穿透 加密 加解密 参数 反序列化 反弹shell 命令 哈希碰撞 图像处理 域渗透 字符串逃逸 容器 密码学 密码破解 提权 数据库 文件上传 日志分析 未授权访问 权限维持 汇总 流量分析 消息队列 溯源 漏洞 漏洞分析 漏洞利用 端口扫描 编译 网络管理 资产探测 跨平台 运维 进程隐藏 逆向
目录
目录
791 字
4 分钟
探测资产
bash脚本
1利用telnet连接来判断端口开放demo.sh
1#!/bin/bash2
3# 检查是否传入了参数4if [ -z "$1" ]; then5 echo "错误:未传入参数 IP,请传入参数并重新运行脚本。"6 exit 17fi8
9# 总的IP参数10IP=$111
12# 总的输出文件13TOTAL_OUTPUT_FILE="total_scan_results.txt"14
15# 创建一个目录来存放子脚本的输出文件16mkdir -p child_scripts_output17
18# 循环生成80个子脚本,并调用它们19for ((i=1; i<=80; i++)); do20 # 每个子脚本负责扫描端口范围的一部分21 start_port=$((($i - 1) * 819 + 1)) # 计算起始端口22 if [ $i -eq 80 ]; then23 # 如果是最后一个子任务,则将剩余的端口分配给它24 end_port=6553525 else26 end_port=$(($i * 819)) # 计算结束端口27 fi28 # echo $start_port 'to' $end_port29 ./child_script.sh "$IP" "$start_port" "$end_port" &30 # fi 是 Bash 中的关键字,用于结束 if 结构。在这种结构中,if 关键字用于开始一个条件语句块,而 fi 则用于结束该语句块31done32
33# 等待所有子脚本执行完成34wait35
36# 汇总所有子脚本的输出到一个文件中37#cat child_scripts_output/* > "$TOTAL_OUTPUT_FILE"38
39cat child_scripts_output/*| awk '{print $2 ":" $4, $0}'| sort -t: -k1,1V -k2,2n | cut -d' ' -f2- > "$TOTAL_OUTPUT_FILE"40# awk '{print $2 ":" $4, $0}' 打印出以":"进行分列后的第2列和第4列41# -t::指定冒号作为字段分隔符42# -k1,1V:按照冒号前的字段按照版本号排序(即按照IP地址的大小排序)43# -k2,2n:在IP地址相同时,按照冒号后的字段进行数字排序(即按照端口号的大小排序)44# -d' ':指定分隔符为空格45# -f2-:表示选取从第二列到最后一列的内容46# 输入的每一行内容按空格进行分割,并输出从第二列开始到最后一列的内容。47
48rm -rf child_scripts_output49
50echo "Scan completed. Results saved in $TOTAL_OUTPUT_FILE"child_script.sh
1#!/bin/bash2
3# 子脚本获取IP参数4IP=$15# 子脚本获取起始端口参数6start_port=$27# 子脚本获取结束端口参数8end_port=$39
10# 子脚本的输出文件11OUTPUT_FILE="child_scripts_output/scan_results_${start_port}_${end_port}.txt"12
13# 循环遍历端口范围14for ((port=$start_port; port<=$end_port; port++)); do15 # 使用telnet进行端口探测,0.05秒超时16 if timeout 0.1 telnet "$IP" "$port" 2>/dev/null | grep ']' &>/dev/null; then17 result="IP $IP Port $port is alive (telnet)"18 echo "$result" >> "$OUTPUT_FILE"19 fi20done21
22echo "Child script for ports $start_port to $end_port completed."批量python脚本
1# !/usr/bin/python32# -*- coding:utf-8 -*-3# @Time : 2024/2/28 15:514# @Author : 大C菌5# @File : 批量.py6# @Software: PyCharm7import os8
9import nmap10import csv11import concurrent.futures12
13
14class PortScanner:15 def __init__(self):16 pass17
18 def scan_host(self, ip, writer):19 nm = nmap.PortScanner()20 print(f"Starting scan for {ip}...")21 nm.scan(hosts=ip, arguments='-sT -min-rate 10000 -p-')22
23 for host in nm.all_hosts():24 hostname = nm[host].hostname()25 state = nm[host].state()26 print(f"Scanning host {host} ({hostname}), state: {state}")27
28 for proto in nm[host].all_protocols():29 lport = list(nm[host][proto].keys())30 lport.sort()31
32 for port in lport:33 port_state = nm[host][proto][port]['state']34 port_name = nm[host][proto][port]['name']35 print(f" port {port}/{proto} is {port_state} ({port_name})")36 writer.writerow({37 'host': host,38 'hostname': hostname,39 'state': state,40 'protocol': proto,41 'port': port,42 'port_state': port_state,43 'port_name': port_name44 })45
46 def scan_ips_from_file(self, file_path):47 with open(file_path) as f, open('results2.csv', 'w', newline='') as csvfile:48 fieldnames = ['host', 'hostname', 'state', 'protocol', 'port', 'port_state', 'port_name']49 writer = csv.DictWriter(csvfile, fieldnames=fieldnames)50 writer.writeheader()51
52 with concurrent.futures.ThreadPoolExecutor() as executor:53 futures = [executor.submit(self.scan_host, line.strip(), writer) for line in f]54 concurrent.futures.wait(futures)55
56
57if __name__ == '__main__':58 dirlist = os.listdir()59 config = 'ip.txt'60 if config not in dirlist:61 with open('ip.txt', 'w') as f:62 pass63 print(config + '创建成功')64 else:65 # 创建端口扫描器对象66 scanner = PortScanner()67 # 读取IP地址文件,并对其中的所有IP地址进行扫描68 scanner.scan_ips_from_file('ip.txt')部分信息可能已经过时
目录
技能展示
文章
日记
时间线
项目展示
分类
标签
Android Bash Burp C++ CS CTF DLL劫持 Docker Fastjson Fastjson2 FNV-1a FreeCMS FRP GetShell GitHub IPv6 Java JNDI John JS加密 JS逆向 K8s Kafka Kali lama-cleaner Linux mitmproxy MSF MySQL Nim Nmap NPS Office OID Payload Phar PHP phpMyAdmin POP链 PWN Pyinstaller Python RCE RSA Shellcode SNMP SQL注入 SSH SSRF Ubuntu USB Web Webshell Web安全 Windows XSS YAML Zookeeper 主机探测 代码审计 伪协议 免杀 内网 内网穿透 加密 加解密 参数 反序列化 反弹shell 命令 哈希碰撞 图像处理 域渗透 字符串逃逸 容器 密码学 密码破解 提权 数据库 文件上传 日志分析 未授权访问 权限维持 汇总 流量分析 消息队列 溯源 漏洞 漏洞分析 漏洞利用 端口扫描 编译 网络管理 资产探测 跨平台 运维 进程隐藏 逆向
目录