首页 > 系统相关 >windows批量telnet脚本

windows批量telnet脚本

时间:2023-08-18 18:34:00浏览次数:36  
标签:批量 windows ip telnet echo %% result FILE%

在windows服务器上,经常需要批量telnet大量地址段端口,来确认网络是否畅通。如果一个个telnet耗时耗力,使用其他第三方程序,则担心不合规,有影响。因此考虑使用windows批处理或者powershell来编写

思路

  • 写一个input文件,将ip和端口信息保存
  • 脚本从input文件逐行读取,循环telnet,将不通的端口记录,输出到output中

powshell

$ports = @(60000)  # 设置要测试的端口列表
$ipFile = "C:\Users\Administrator\Desktop\ip_list.txt"   # 设置包含IP地址的文本文件路径
$outputFile = "C:\Users\Administrator\Desktop\result.txt"  # 设置输出结果的文本文件路径

$ipAddresses = Get-Content $ipFile

foreach ($ip in $ipAddresses) {
    foreach ($port in $ports) {
        $tcpClient = New-Object System.Net.Sockets.TcpClient
        try {
            $connectTask = $tcpClient.ConnectAsync($ip, $port)
    
            # 等待连接完成或超时(设置为3秒)
            $waitResult = [System.Threading.Tasks.Task]::WaitAny($connectTask, [System.Threading.Tasks.Task]::Delay(3000))
    
            if ($waitResult -eq 0 -and $tcpClient.Connected) {
                $result = "IP $ip Port $port is open."
            } else {
                $result = "IP $ip Port $port is closed."
            }
        } catch {
            $result = "Failed to connect to IP $ip Port ${port}: $_"
        } finally {
            $tcpClient.Close()
        }
        $result | Out-File -FilePath $outputFile -Append
    }
}

批处理

@echo off

set INPUT_FILE=input.txt
set OUTPUT_FILE=output.txt
set FAILURES_FILE=failures.txt

REM 清空输出文件和失败记录文件
break > %OUTPUT_FILE%
break > %FAILURES_FILE%

REM 逐行读取输入文件
for /f "tokens=*" %%A in (%INPUT_FILE%) do (
    echo Connecting to %%A
    telnet %%A >> %OUTPUT_FILE% 2>&1
    
    REM 检查telnet命令的退出代码
    if not errorlevel 1 (
        echo Telnet to %%A succeeded.
    ) else (
        echo Telnet to %%A failed. >> %FAILURES_FILE%
    )
    
    echo. >> %OUTPUT_FILE%
)

echo 批量 telnet 执行完成,成功记录保存在 %OUTPUT_FILE% 文件中,失败记录保存在 %FAILURES_FILE% 文件中。
pause

powershell写起来较为复杂,批处理执行有问题,有些系统运行得不到结果

可以根据自己的情况取舍

标签:批量,windows,ip,telnet,echo,%%,result,FILE%
From: https://blog.51cto.com/u_11555417/7140226

相关文章

  • windows程序如何设置开机自启动以及定时重启
    1. 通过shell:StartUp将程序设置为开机自启动的状态  2. 设置windows系统为无需登录模式 1、开始-运行,或点击Cortana搜索框,输入netplwiz,打开用户账户面板;2、点击当前使用的用户名,去掉“要使用本计算机,用户必须输入用户名和密码”复选框;没有以上复选项的解决方法 ......
  • Windows XP Vmware 无法自适应窗口
    之前在吾爱破解上找到一个WindowsXPSP3的精简系统(目前找不到在哪了),自带VMtools和52破解工具包,很适合XP系统下的逆向和病毒分析。目前准备学习一下《恶意代码分析实战》,这本书的实验基于WindowsXP,为了确保实验成功也启动了一下本地存着的XP系统,但是发现VMtools无法自......
  • Windows设置本地DNS域名解析hosts文件配置--九五小庞
    DNSDomainNameSystem(域名系统):为了加快定位IP地址的速度,将域名映射进行层层缓存的系统.目的:互联网通过IP(10.223.146.45)定位浏览器建立连接,但是我们不易区别IP,为了方便用户辨识IP所代表的意义,操作系统会将IP和域名进行转换(roadmapsupporter.com)。IP比作IDCard:373×××××,......
  • jmeter安装(windows10)
    jmeter安装1.JDK安装预先安装JDK,最好1.8版本以上2.JMETER安装1)下载安装官方下载地址:https://jmeter.apache.org/download_jmeter.cgi 下载后直接解压到自己配置的文件夹下就可以,比如C:\Jmeter\apache-jmeter-5.6.2 2)环境配置两种情况(1)只用这个版本进行测试,那就进行......
  • 提高批量爬虫采集效率的7个实用技巧
    批量爬虫采集是数据获取的重要手段,但如何提高其效率却是让很多程序员头疼的问题。本文将分享七个实用技巧,帮助你优化批量爬虫采集工作,提高效率和产出。1.优化请求频率:合理设置访问频率是提高爬虫效率的关键。根据网站的响应速度和机器的承载能力,合理调整请求间隔时间,避免过于频繁或......
  • 爬虫新手变高手!快速完成批量爬虫采集任务
    大家好!作为一名专业的爬虫程序员,我今天要和大家分享一些关于如何快速完成批量爬虫采集任务的进阶技巧。如果你已经掌握了基本的爬虫知识,那么这些技巧将帮助你更快地完成采集任务。1.数据去重——避免重复采集和冗余数据在大规模数据采集任务中,经常会出现重复的数据和冗余的信息。为......
  • .net7 创建windows后台服务
    开发语言:C#运行时:.net7开发环境:visualstudio2022微软官方文档:https://learn.microsoft.com/zh-cn/dotnet/core/extensions/windows-service?pivots=dotnet-7-0最近公司需要使用后台调度服务定时拉取业务数据并推送至第三方,原本是直接使用aps.netcore应用程序部署在IIS上......
  • 批量备份数据库日志且30天后自动删除该备份文件
    /********************************************批量备份数据库日志且30天后自动删除该备份文件*******************************************/DECLARE@backupfileVARCHAR(1024)DECLARE@filenameVARCHAR(1024)DECLARE@pathVARCHAR(1024)DECLARE@dbnameVARC......
  • 批量爬虫采集大数据的技巧和策略分享
    作为一名专业的爬虫程序员,今天主要要和大家分享一些技巧和策略,帮助你在批量爬虫采集大数据时更高效、更顺利。批量爬虫采集大数据可能会遇到一些挑战,但只要我们掌握一些技巧,制定一些有效的策略,我们就能在数据采集的道路上一帆风顺。1、设立合理的请求频率在进行批量爬虫采集时,频繁......
  • 提高批量爬虫工作效率
    提高批量爬虫工作效率大家好!作为一名专业的爬虫程序员,我今天要和大家分享一些关于提高批量爬虫工作效率的实用技巧。无论你是要批量采集图片、文本还是视频数据,这些经验都能帮助你在大规模数据采集中事半功倍。废话不多说,让我们开始吧!1.合理设置爬虫任务——优化数据采集计划在进......