ping、telnet、netstat命令详解

转至:https://www.cnblogs.com/lisuyun/articles/5864744.html

netstat详解转自http://wsmajunfeng.iteye.com/blog/1222526

Netstat 用于显示与IP 、TCP 、UDP 和ICMP 协议相关的统计数据,一般用于检验本机各端口的网络连接情况。 

     如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP 可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的IP 数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat 查一查为什么会出现这些情况了。

Netstat 详细参数列表 (Winxp ) C:\>netstat /? 显示协议统计信息和当前 TCP/IP 网络连接。 NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]   -a            显示所有连接和监听端口。 
  -b            显示包含于创建每个连接或监听端口的可执行组件。在某些情况下已知可执行组件 
                拥有多个独立组件,并且在这些情况下包含于创建连接或监听端口的组件序列被显示。 
                这种情况下,可执行组件名在底部的 [] 中,顶部是其调用的组件,等等,直到 TCP/IP
                 部分。注意此选项可能需要很长时间,如果没有足够权限可能失败。 
  -e            显示以太网统计信息。此选项可以与 -s
                选项组合使用。 
  -n            以数字形式显示地址和端口号。 
  -o            显示与每个连接相关的所属进程 ID 。 
  -p proto      显示 proto 指定的协议的连接;proto 可以是 
                下列协议之一: TCP 、UDP 、TCPv6 或 UDPv6 。 
                如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一 :
                IP 、IPv6 、ICMP 、ICMPv6 、TCP 、TCPv6 、UDP 或 UDPv6 。 
  -r            显示路由表。 
  -s            显示按协议统计信息。默认地,显示 IP 、 
                IPv6 、ICMP 、ICMPv6 、TCP 、TCPv6 、UDP 和 UDPv6 的统计信息; 
                -p 选项用于指定默认情况的子集。 
  -v            与 -b 选项一起使用时将显示包含于 
                为所有可执行组件创建连接或监听端口的 
                组件。 
  interval      重新显示选定统计信息,每次显示之间 
                暂停时间间隔( 以秒计) 。按 CTRL+C 停止重新 
                显示统计信息。如果省略,netstat 显示当前 
                配置信息( 只显示一次) (Win2000 ) C:\>netstat /? Displays protocol statistics and current TCP/IP network connections. NETSTAT [-a] [-e] [-n] [-s] [-p proto] [-r] [interval]   -a            Displays all connections and listening ports.
  -e            Displays Ethernet statistics. This may be combined with the -s
                option.
  -n            Displays addresses and port numbers in numerical form.
  -p proto      Shows connections for the protocol specified by proto; proto
                may be TCP or UDP.  If used with the -s option to display
                per-protocol statistics, proto may be TCP, UDP, or IP.
  -r            Displays the routing table.
  -s            Displays per-protocol statistics.  By default, statistics are
                shown for TCP, UDP and IP; the -p option may be used to specify
                a subset of the default.
  interval      Redisplays selected statistics, pausing interval seconds
                between each display.  Press CTRL+C to stop redisplaying
                statistics.  If omitted, netstat will print the current
                configuration information once.

Netstat 的一些常用选项  
netstat -s ——本选项能够按照各个协议分别显示其统计数据。如果你的应用程序(如Web 浏览器)运行速度比较慢,或者不能显示Web 页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。 

netstat -e ——本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量。 

netstat -r ——本选项可以显示关于路由表的信息,类似于后面所讲使用route print 命令时看到的 信息。除了显示有效路由外,还显示当前有效的连接。 

netstat -a ——本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED ),也包括监听连接请求(LISTENING )的那些连接,断开连接(CLOSE_WAIT )或者处于联机等待状态的(TIME_WAIT )等 

netstat -n ——显示所有已建立的有效连接。       微软公司故意将这个功能强大的命令隐藏起来是因为它对于普通用户来说有些复杂。我们已经知道:Netstat它可以用来获得你的系统网络连接的信息(使用的端口,在使用的协议等 ),收到和发出的数据,被连接的远程系统的端口,Netstat 在内存中读取所有的网络信息。     在Internet RFC 标准中,Netstat 的定义是: Netstat 是在内核中访问网络及相关信息的程序,它能提供TCP 连接,TCP 和UDP 监听,进程内存管理的相关报告。     对于好奇心极强的人来说,紧紧有上面的理论是远远不够的,接下来我们来详细的解释一下各个参数的使用,看看执行之后会发生什么,显示的信息又是什么意思,好了,废话不说了,让我们一起来实践一下吧:) C:\>netstat -a Active Connections   Proto  Local Address          Foreign Address        State
  TCP    Eagle:ftp              Eagle:0                LISTENING
  TCP    Eagle:telnet           Eagle:0                LISTENING
  TCP    Eagle:smtp             Eagle:0                LISTENING
  TCP    Eagle:http             Eagle:0                LISTENING
  TCP    Eagle:epmap            Eagle:0                LISTENING
  TCP    Eagle:https            Eagle:0                LISTENING
  TCP    Eagle:microsoft-ds     Eagle:0                LISTENING
  TCP    Eagle:1030             Eagle:0                LISTENING
  TCP    Eagle:6059             Eagle:0                LISTENING
  TCP    Eagle:8001             Eagle:0                LISTENING
  TCP    Eagle:8005             Eagle:0                LISTENING
  TCP    Eagle:8065             Eagle:0                LISTENING
  TCP    Eagle:microsoft-ds     localhost:1031         ESTABLISHED
  TCP    Eagle:1031             localhost:microsoft-ds  ESTABLISHED
  TCP    Eagle:1040             Eagle:0                LISTENING
  TCP    Eagle:netbios-ssn      Eagle:0                LISTENING
  TCP    Eagle:1213             218.85.139.65:9002     CLOSE_WAIT
  TCP    Eagle:2416             219.133.63.142:https   CLOSE_WAIT
  TCP    Eagle:2443             219.133.63.142:https   CLOSE_WAIT
  TCP    Eagle:2907             192.168.1.101:2774     CLOSE_WAIT
  TCP    Eagle:2916             192.168.1.101:telnet   ESTABLISHED
  TCP    Eagle:2927             219.137.227.10:4899    TIME_WAIT
  TCP    Eagle:2928             219.137.227.10:4899    TIME_WAIT
  TCP    Eagle:2929             219.137.227.10:4899    ESTABLISHED
  TCP    Eagle:3455             218.85.139.65:9002     ESTABLISHED
  TCP    Eagle:netbios-ssn      Eagle:0                LISTENING
  UDP    Eagle:microsoft-ds     *:*
  UDP    Eagle:1046             *:*
  UDP    Eagle:1050             *:*
  UDP    Eagle:1073             *:*
  UDP    Eagle:1938             *:*
  UDP    Eagle:2314             *:*
  UDP    Eagle:2399             *:*
  UDP    Eagle:2413             *:*
  UDP    Eagle:2904             *:*
  UDP    Eagle:2908             *:*
  UDP    Eagle:3456             *:*
  UDP    Eagle:4000             *:*
  UDP    Eagle:4001             *:*
  UDP    Eagle:6000             *:*
  UDP    Eagle:6001             *:*
  UDP    Eagle:6002             *:*
  UDP    Eagle:6003             *:*
  UDP    Eagle:6004             *:*
  UDP    Eagle:6005             *:*
  UDP    Eagle:6006             *:*
  UDP    Eagle:6007             *:*
  UDP    Eagle:6008             *:*
  UDP    Eagle:6009             *:*
  UDP    Eagle:6010             *:*
  UDP    Eagle:6011             *:*
  UDP    Eagle:1045             *:*
  UDP    Eagle:1051             *:*
  UDP    Eagle:netbios-ns       *:*
  UDP    Eagle:netbios-dgm      *:*
  UDP    Eagle:netbios-ns       *:*
  UDP    Eagle:netbios-dgm      *:*   我们拿其中一行来解释吧: Proto  Local Address          Foreign Address        State TCP    Eagle:2929             219.137.227.10:4899    ESTABLISHED   协议(Proto ):TCP ,指是传输层通讯协议(什么?不懂?请用baidu 搜索"TCP" ,OSI 七层和TCP/IP 四层可是基础^_^ ) 
本地机器名(Local  Address ):Eagle ,俗称计算机名了,安装系统时设置的,可以在“我的电脑”属性中修改,本地打开并用于连接的端口:2929 )    
远程机器名(Foreign  Address ): 219.137.227.10
远程端口: 4899  
状态:ESTABLISHED     状态列表 LISTEN   :在监听状态中。    
ESTABLISHED :已建立联机的联机情况。 
TIME_WAIT :该联机在目前已经是等待的状态。    -a 参数常用于获得你的本地系统开放的端口,用它您可以自己检查你的系统上有没有被安装木马(ps :有很多好程序用来检测木马,但你的目的是想成为真正的hacker ,手工检测要比只按一下“scan ”按钮好些---- 仅个人观点)。如果您Netstat 你自己的话,发现下面的信息: 
   
   Port 12345(TCP) Netbus 
   Port 31337(UDP) Back Orifice 
   
  祝贺! 您中了最常见的木马(^_^ ,上面4899 是我连别人的,而且这个radmin 是商业软件,目前我最喜欢的远程控制软件) 
  如果你需要木马及其端口列表的话,去国内的H 站找找,或者baidu ,google 吧 
   
   ***************************************************************** 
   
  # 一些原理:也许你有这样的问题:“在机器名后的端口号代表什么? 
  例子: Eagle:2929
  小于1024 的端口通常运行一些网络服务,大于1024 的端口用来与远程机器建立连接。   
  *****************************************************************   继续我们的探讨,使用-n 参数。( Netstat -n) 
  Netstat -n 基本上是-a 参数的数字形式:   C:\>netstat -n Active Connections   Proto  Local Address          Foreign Address        State
  TCP    127.0.0.1:445          127.0.0.1:1031         ESTABLISHED
  TCP    127.0.0.1:1031         127.0.0.1:445          ESTABLISHED
  TCP    192.168.1.180:1213     218.85.139.65:9002     CLOSE_WAIT
  TCP    192.168.1.180:2416     219.133.63.142:443     CLOSE_WAIT
  TCP    192.168.1.180:2443     219.133.63.142:443     CLOSE_WAIT
  TCP    192.168.1.180:2907     192.168.1.101:2774     CLOSE_WAIT
  TCP    192.168.1.180:2916     192.168.1.101:23       ESTABLISHED
  TCP    192.168.1.180:2929     219.137.227.10:4899    ESTABLISHED
  TCP    192.168.1.180:3048     192.168.1.1:8004       SYN_SENT
  TCP    192.168.1.180:3455     218.85.139.65:9002     ESTABLISHED   -a  和 -n  是最常用的两个,据我不完全测试得出以下结果: 1. -n 显示用数字化主机名,即IP 地址,而不是compute_name 【eagle 】 2. -n  只显示TCP 连接(没有在哪里见过微软的相关文档,有哪个朋友见到的话,记得告诉我喔^_^ )      得到IP 等于得到一切,它是最容易使机器受到攻击的东东,所以隐藏自己IP ,获得别人的IP 对hacker 来说非常重要,现在隐藏IP 技术很流行,但那些隐藏工具或服务真的让你隐身吗?我看不见得,呵呵,代理,跳板不属于今天讨论,一个获取对方IP 的简单例子请参考我前面的文章【用DOS 命令查QQ 好友IP 地址 】 
  -a 和 -n 是最常用的命令,如果要显示一些协议的更详细信息,就要用-p 这个参数了,它其实是-a  和 -n 的一个变种 ,我们来看一个实例,你就明白了:【netstat -p @@@ 其中@@@ 为TCP 或者UDP 】 C:\>netstat -p tcp Active Connections   Proto  Local Address          Foreign Address        State
  TCP    Eagle:microsoft-ds     localhost:1031         ESTABLISHED
  TCP    Eagle:1031             localhost:microsoft-ds  ESTABLISHED
  TCP    Eagle:1213             218.85.139.65:9002     CLOSE_WAIT
  TCP    Eagle:2416             219.133.63.142:https   CLOSE_WAIT
  TCP    Eagle:2443             219.133.63.142:https   CLOSE_WAIT
  TCP    Eagle:2907             192.168.1.101:2774     CLOSE_WAIT
  TCP    Eagle:2916             192.168.1.101:telnet   ESTABLISHED
  TCP    Eagle:2929             219.137.227.10:4899    ESTABLISHED
  TCP    Eagle:3455             218.85.139.65:9002     ESTABLISHED      继续我们的参数讲解 -e     含义:本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量 。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量。 C:\>netstat -e
Interface Statistics                            Received            Sent Bytes                     143090206        44998789
Unicast packets              691805          363603
Non-unicast packets          886526            2386
Discards                          0               0
Errors                            0               0
Unknown protocols              4449     若接收错和发送错接近为零或全为零,网络的接口无问题。但当这两个字段有100 个以上的出错分组时就可以认为是高出错率了。高的发送错表示本地网络饱和或在主机与网络之间有不良的物理连接;   高的接收错表示整体网络饱和、本地主机过载或物理连接有问题,可以用Ping 命令统计误码率,进一步确定故障的程度。netstat -e  和ping 结合使用能解决一大部分网络故障。       接下来我们开始讲解两个比较复杂的参数 -r   -s ,也正因为如此,笔者把他放到最后讲解,这里面可能会涉及到其他方面的知识,以后在我的博客中将会继续写出来,呵呵,最近比较忙     -r 是用来显示路由表信息,我们来看例子: C:\>netstat -r Route Table (路由表) 
===========================================================================
Interface List (网络接口列表) 
0x1 ........................... MS TCP Loopback interface
0x10003 ...00 0c f1 02 76 81 ...... Intel(R) PRO/Wireless LAN 2100 3B Mini PCI
dapter
0x10004 ...00 02 3f 00 05 cb ...... Realtek RTL8139/810x Family Fast Ethernet
C
===========================================================================
===========================================================================
Active Routes: (动态路由) 
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0    192.168.1.254   192.168.1.181       30
          0.0.0.0          0.0.0.0    192.168.1.254   192.168.1.180       20
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1
      192.168.1.0    255.255.255.0    192.168.1.180   192.168.1.180       20
      192.168.1.0    255.255.255.0    192.168.1.181   192.168.1.181       30
    192.168.1.180  255.255.255.255        127.0.0.1       127.0.0.1       20
    192.168.1.181  255.255.255.255        127.0.0.1       127.0.0.1       30
    192.168.1.255  255.255.255.255    192.168.1.180   192.168.1.180       20
    192.168.1.255  255.255.255.255    192.168.1.181   192.168.1.181       30
        224.0.0.0        240.0.0.0    192.168.1.180   192.168.1.180       20
        224.0.0.0        240.0.0.0    192.168.1.181   192.168.1.181       30
  255.255.255.255  255.255.255.255    192.168.1.180   192.168.1.180       1
  255.255.255.255  255.255.255.255    192.168.1.181   192.168.1.181       1
Default Gateway:     192.168.1.254 (默认网关) 
===========================================================================
Persistent Routes: (静态路由) 
  None C:\>   -s 参数的作用前面有详细的说明,来看例子 C:\>netstat -s IPv4 Statistics        (IP 统计结果)        Packets Received                   = 369492 (接收包数) 
  Received Header Errors             = 0 (接收头错误数) 
  Received Address Errors            = 2 (接收地址错误数) 
  Datagrams Forwarded                = 0 (数据报递送数) 
  Unknown Protocols Received         = 0 (未知协议接收数) 
  Received Packets Discarded         = 4203 (接收后丢弃的包数) 
  Received Packets Delivered         = 365287 (接收后转交的包数) 
  Output Requests                    = 369066 (请求数) 
  Routing Discards                   = 0 (路由丢弃数 ) 
  Discarded Output Packets           = 2172 (包丢弃数) 
  Output Packet No Route             = 0 (不路由的请求包) 
  Reassembly Required                = 0 (重组的请求数 ) 
  Reassembly Successful              = 0 (重组成功数) 
  Reassembly Failures                = 0 (重组失败数) 
  Datagrams Successfully Fragmented  = 0 (分片成功的数据报数 ) 
  Datagrams Failing Fragmentation    = 0 (分片失败的数据报数 ) 
  Fragments Created                  = 0 (分片建立数) ICMPv4 Statistics (ICMP 统计结果)包括Received 和Sent 两种状态                             Received    Sent
  Messages                  285         784 (消息数 ) 
  Errors                    0           0 (错误数) 
  Destination Unreachable   53          548 (无法到达主机数目) 
  Time Exceeded             0           0 (超时数目) 
  Parameter Problems        0           0 (参数错误) 
  Source Quenches           0           0 (源夭折数 ) 
  Redirects                 0           0 (重定向数) 
  Echos                     25          211 (回应数) 
  Echo Replies              207         25 (回复回应数) 
  Timestamps                0           0 (时间戳数) 
  Timestamp Replies         0           0 (时间戳回复数) 
  Address Masks             0           0 (地址掩码数 ) 
  Address Mask Replies      0           0 (地址掩码回复数) TCP Statistics for IPv4 (TCP 统计结果)   Active Opens                        = 5217 (主动打开数 ) 
  Passive Opens                       = 80 (被动打开数 ) 
  Failed Connection Attempts          = 2944 (连接失败尝试数 ) 
  Reset Connections                   = 529 (复位连接数 ) 
  Current Connections                 = 9 (当前连接数目) 
  Segments Received                   = 350143 (当前已接收的报文数) 
  Segments Sent                       = 347561 (当前已发送的报文数) 
  Segments Retransmitted              = 6108 (被重传的报文数目) UDP Statistics for IPv4 (UDP 统计结果)   Datagrams Received    = 14309 (接收的数据包) 
  No Ports              = 1360 (无端口数) 
  Receive Errors        = 0 (接收错误数) 
  Datagrams Sent        = 14524 (数据包发送数) C:\>     telnet命令详解 转自http://blog.chinaunix.net/uid-26167002-id-3054040.html 1、什么是Telnet?
  对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协议,但是对于入侵者而言,Telnet只是一种远程登录的工具。一旦入侵者与远程主机建立了Telnet连接,入侵者便可以使用目标主机上的软、硬件资源,而入侵者的本地机只相当于一个只有键盘和显示器的终端而已。
2、Telnet被入侵者用来做什么
  (1)Telnet是控制主机的第一手段
  如果入侵者想要在远程主机上执行命令,需要建立IPC$连接,然后使用net time命令查看系统时间,最后使用at命令建立计划任务才能完成远程执行命令。虽然这种方法能够远程执行命令,但相比之下,Telnet方式对入侵者而言则会方便得多。入侵者一旦与远程主机建立Telnet连接,就可以像控制本地计算机一样来控制远程计算机。可见,Telnet方式是入侵者惯于使用的远程控制方式,当他们千方百计得到远程主机的管理员权限后,一般都会使用Telnet方式进行登录。
  (2)用来做跳板
入侵者把用来隐身的肉鸡称之为“跳板”,他们经常用这种方法,从一个“肉鸡”登录到另一个“肉鸡”,这样在入侵过程中就不会暴露自己的IP地址。
3.关于NTLM验证
由于Telnet功能太强大,而且也是入侵者使用最频繁的登录手段之一,因此微软公司为Telnet添加了身份验证,称为NTLM验证,它要求Telnet终端除了需要有Telnet服务主机的用户名和密码外,还需要满足NTLM验证关系。NTLM验证大大增强了Telnet主机的安全性,就像一只拦路虎把很多入侵者拒之门外。
4、Telnet语法
telnet [-a][-e escape char][-f log file][-l user][-t term][host [port]]
-a 企图自动登录。除了用当前已登陆的用户名以外,与 -l 选项相同。
-e 跳过字符来进入 telnet 客户提示。
-f 客户端登录的文件名
-l 指定远程系统上登录用的用户名称。
要求远程系统支持 TELNET ENVIRON 选项。
-t 指定终端类型。
支持的终端类型仅是: vt100, vt52, ansi 和 vtnt。
host 指定要连接的远程计算机的主机名或 IP 地址。
port 指定端口号或服务名。
5.使用Telnet登录
登录命令:telnet HOST [PORT] 例如:telnet 61.152.158.132 23(默认端口)
断开Telnet连接的命令:exit
  成功地建立Telnet连接,除了要求掌握远程计算机上的账号和密码外,还需要远程计算机已经开启“Telnet服务”,并去除NTLM验证。也可以使用专门的Telnet工具来进行连接,比如STERM,CTERM等工具。
6.Telnet典型入侵(如果以下内容不太了解,可以简单了解)
  1.Telnet典型入侵步骤
  步骤一:建立IPC$连接。其中sysback是前面建立的后门账号。
  步骤二:开启远程主机中被禁用的Telnet服务。
  步骤三:断开IPC$连接。
  步骤四:去掉NTLM验证。如果没有去除远程计算机上的NTLM验证,在登录远程计算机的时候就会失败。
  不过入侵者会使用各种方法使NTLM验证形同虚设。解除NTLM的方法有很多,下面列出一些常用的方法,来看看入侵者如何去除NTLM验证。
  (1)方法一 
  首先,在本地计算机上建立一个与远程主机上相同的账号和密码。
  然后,通过“开始”→“程序”→“附件”找到“命令提示符”,使用鼠标右键单击“命令提示符”,然后选择“属性”
  在“以其他用户身份运行(U)”前面“打钩”,然后单击“确定”按钮。接着,仍然按照上述路径找到“命令提示符”,用鼠标左键单击打开,得到如图所示对话框。
  如图所示,键入“用户名”和“密码”。
  单击“确定”按钮后,得到MS-DOS界面,然后用该MS-DOS进行Telnet登录。
  键入“telnet 192.168.27.128”命令并回车后,在得到的界面中键入“y”表示发送密码并登录,如图所示。
  最后得到就是远程主机为Telnet终端用户打开的Shell,在该Shell中输入的命令将会直接在远程计算机上执行。
  比如,键入“net user”命令来查看远程主机上的用户列表。
  (2)方法二 
  该方法使用工具NTLM.EXE来去除NTLM验证。首先与远程主机建立IPC$连接,然后将NTLM.EXE拷贝至远程主机,最后通过at命令使远程计算机执行NTLM.EXE。
  计划任务执行NTLM.EXE后,便可键入“telnet 192.168.27.128”命令来登录远程计算机。
  最后得到登录界面
  在该登录界面中键入用户名和密码,如果用户名和密码正确,便会登录到远程计算 机,得到远程计算机的Shell。
  成功登录。
  另外,还可以使用与opentelnet.exe相配套的程序resumetelnet.exe来恢复远程主机的NTLM验证,命令格式为“ResumeTelnet.exe \\server sername password”。
  执行后回显可知,resumetelnet.exe关闭了目标主机的Telnet服务,恢复了NTLM验证。
  Telnet高级入侵全攻略 
  从前面的介绍可以看出,即使计算机使用了NTLM验证,入侵者还是能够轻松地去除NTLM验证来实现Telnet登录。如果入侵者使用23号端口登录,管理员便可以轻易地发现他们,但不幸的是,入侵者通常不会通过默认的23号端口进行Telnet连接。那么入侵者究竟如何修改Telnet端口,又如何修改Telnet服务来隐蔽行踪呢?下面举一些常见的例子来说明这一过程,并介绍一下完成这一过程所需要的工具。
  X-Scan:用来扫出存在NT弱口令的主机。
  opentelnet:用来去NTLM验证、开启Telnet服务、修改Telnet服务端口。
  AProMan:用来查看进程、杀死进程。
  instsrv:用来给主机安装服务。
  (1)AProMan简介
  AproMan以命令行方式查看进程、杀死进程,不会被杀毒软件查杀。举个例子,如果入侵者发现目标主机上运行有杀毒软件,会导致上传的工具被杀毒软件查杀,那么他们就会要在上传工具前关闭杀毒防火墙。使用方法如下:
  c:\AProMan.exe -a 显示所有进程
  c:\AProMan.exe -p 显示端口进程关联关系(需Administrator权限)
  c:\AProMan.exe -t [PID] 杀掉指定进程号的进程
  c:\AProMan.exe -f [FileName] 把进程及模块信息存入文件
  (2)instsrv简介
  instsrv是一款用命令行就可以安装、卸载服务的程序,可以*指定服务名称和服务所执行的程序。instsrv的用法如下:
  安装服务:instsrv <服务名称> <执行程序的位置>
  卸载服务:instsrv <服务名称> REMOVE
  还有另一款优秀的远程服务管理工具SC。它属于命令行工具,可以在本地对远程计算机上的服务进行查询、启动、停止和删除。它的用法很简单,这里不作介绍了。下面通过实例来介绍入侵者如何实现Telnet登录并留下Telnet后门的过程。
  步骤一:扫出有NT弱口令的主机。在X-Scan的“扫描模块”中选中“NT-SERVER弱口令”。
  然后在“扫描参数中”指定扫描范围为“192.168.27.2到192.168.27.253”。
  等待一段时间后,得到扫描结果。
  步骤二:用opentelnet打开远程主机Telnet服务、修改目标主机端口、去除NTLM验证。 

  无论远程主机是否开启“Telnet服务”,入侵者都可以通过工具opentelnet来解决。比如,通过“opentelnet \\192.168.27.129 administrator "" 1 66”命令为IP地址为192.168. 27.129的主机去除NTLM认证,开启Telnet服务,同时又把Telnet默认的23号登录端口改成66号端口。
  步骤三:把所需文件(instsrv.exe、AProMan.exe)拷贝到远程主机。
  首先建立IPC$,然后通过映射网络硬盘的方法把所需文件拷贝、粘贴到远程计算机的c:\winnt文件夹中。
  拷贝成功后。
  步骤四:Telnet登录。
  在MS-DOS中键入命令“telnet 192.168.27.129 66”来登录远程主机192.168.27.129。
  步骤五:杀死防火墙进程。
  如果入侵者需要把类似木马的程序拷贝到远程主机并执行,那么他们会事先关闭远程主机中的杀毒防火墙。虽然这里没有拷贝类似木马的程序到远程主机,但还是要介绍一下这一过程。当入侵者登录成功后,他们会进入到c:\winnt目录中使用AProMan程序。首先通过命令 AProMan –A查看所有进程,然后找到杀毒防火墙进程的PID,最后使用AProMan –t [PID]来杀掉杀毒防火墙。
  步骤六:另外安装更为隐蔽的Telnet服务。
  为了事后仍然能登录到该计算机,入侵者在第一次登录之后都会留下后门。这里来介绍一下入侵者如何通过安装系统服务的方法来让Telnet服务永远运行。在安装服务之前,有必要了解一下Windows操作系统是如何提供“Telnet服务”的。打开“计算机管理”,然后查看“Telnet服务”属性。
  在“Telnet 的属性”窗口中,可以看到其中“可执行文件的路径”指向“C:\WINNT\ SYSTEM32\tlntsvr.exe”。可见,程序tlntsvr.exe就是Windows系统中专门用来提供“Telnet服务”的。也就是说,如果某服务指向该程序,那么该服务就会提供Telnet服务。因此,入侵者可以自定义一个新服务,将该服务指向tlntsvr.exe,从而通过该服务提供的Telnet服务登录,这样做后,即使远程主机上的Telnet服务是被禁用的,入侵者也可以毫无阻碍的登录到远程计算机,这种方法被称之为 Telnet后门。下面就介绍一下上述过程是如何实现的。首先进入instsrv所在目录。
  然后使用instsrv.exe建立一个名为“SYSHEALTH”的服务,并把这个服务指向C:\WINNT z\SYSTEM32\tlntsvr.exe,根据instsrv.exe的用法,键入命令“instsrv.exe SYSHEALTH C:\WINNT\SYSTEM32\tlntsvr.exe”。
  一个名为“SYSHEAHTH”的服务就这样建立成功了。虽然从表面看上去该服务与远程连接不存在任何关系,但是实际上该服务是入侵者留下的Telnet后门服务。
  通过“计算机管理”可以看到该服务已经添加在远程计算机上。入侵者一般会把这个服务的启动类型设置成“自动”,把原来的“Telnet服务”停止并禁用。
  通过验证可知,虽然远程主机上的Telnet服务已经被停止并禁用,但入侵者仍然能够      通过Telnet来控制远程主机。通过这些修改,即使管理员使用“netstat –n”命令来查看开放端口号也看不出66端口正在提供Telnet服务,此命令平常还可以拿来判断端口的连接情况。   Ping命令详解 转自http://www.jb51.net/softjc/567.html 对于Windows下ping命令相信大家已经再熟悉不过了,但是能把ping的功能发挥到最大的人却并不是很多,当然我也并不是说我可以让ping发挥最大的功能,我也只不过经常用ping这个工具,也总结了一些小经验,现在和大家分享一下。

  现在我就参照ping命令的帮助说明来给大家说说我使用ping时会用到的技巧,ping只有在安装了TCP/IP协议以后才可以使用:
  
  ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [[-j computer-list] | [-k computer-list]] [-w timeout] destination-list
  
  Options:
  
  -t Ping the specified host until stopped.To see statistics and continue - type Control-Break;To stop - type Control-C.
  
  不停的ping地方主机,直到你按下Control-C。
  
  此功能没有什么特别的技巧,不过可以配合其他参数使用,将在下面提到。
  
  -a Resolve addresses to hostnames.
  
  解析计算机NetBios名。
  
  示例:C:\>ping -a 192.168.1.21
  
  Pinging iceblood.yofor.com [192.168.1.21] with 32 bytes of data:
  
  Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
  
  Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
  
  Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
  
  Reply from 192.168.1.21: bytes=32 time<10ms TTL=254
  
  Ping statistics for 192.168.1.21:
  
  Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),Approximate round trip times in milli-seconds:
  
  Minimum = 0ms, Maximum = 0ms, Average = 0ms
  
  从上面就可以知道IP为192.168.1.21的计算机NetBios名为iceblood.yofor.com。
  
  -n count Number of echo requests to send.
  
  发送count指定的Echo数据包数。
  
  在默认情况下,一般都只发送四个数据包,通过这个命令可以自己定义发送的个数,对衡量网络速度很有帮助,比如我想测试发送50个数据包的返回的平均时间为多少,最快时间为多少,最慢时间为多少就可以通过以下获知:
  
  C:\>ping -n 50 202.103.96.68
  
  Pinging 202.103.96.68 with 32 bytes of data:
  
  Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
  
  Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
  
  Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
  
  Request timed out.
  
  ………………
  
  Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
  
  Reply from 202.103.96.68: bytes=32 time=50ms TTL=241
  
  Ping statistics for 202.103.96.68:
  
  Packets: Sent = 50, Received = 48, Lost = 2 (4% loss),Approximate round trip times in milli-seconds:
  
  Minimum = 40ms, Maximum = 51ms, Average = 46ms
  
  从以上我就可以知道在给202.103.96.68发送50个数据包的过程当中,返回了48个,其中有两个由于未知原因丢失,这48个数据包当中返回速度最快为40ms,最慢为51ms,平均速度为46ms。
  
  -l size Send buffer size.
  
  定义echo数据包大小。
  
  在默认的情况下windows的ping发送的数据包大小为32byt,我们也可以自己定义它的大小,但有一个大小的限制,就是最大只能发送65500byt,也许有人会问为什么要限制到65500byt,因为Windows系列的系统都有一个安全漏洞(也许还包括其他系统)就是当向对方一次发送的数据包大于或等于65532时,对方就很有可能挡机,所以微软公司为了解决这一安全漏洞于是限制了ping的数据包大小。虽然微软公司已经做了此限制,但这个参数配合其他参数以后危害依然非常强大,比如我们就可以通过配合-t参数来实现一个带有攻击性的命令:(以下介绍带有危险性,仅用于试验,请勿轻易施于别人机器上,否则后果自负)
  
  C:\>ping -l 65500 -t 192.168.1.21
  
  Pinging 192.168.1.21 with 65500 bytes of data:
  
  Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
  
  Reply from 192.168.1.21: bytes=65500 time<10ms TTL=254
  
  ………………
  
  这样它就会不停的向192.168.1.21计算机发送大小为65500byt的数据包,如果你只有一台计算机也许没有什么效果,但如果有很多计算机那么就可以使对方完全瘫痪,我曾经就做过这样的试验,当我同时使用10台以上计算机ping一台Win2000Pro系统的计算机时,不到5分钟对方的网络就已经完全瘫痪,网络严重堵塞,HTTP和FTP服务完全停止,由此可见威力非同小可。
  
  -f Set Don't Fragment flag in packet.
  
  在数据包中发送“不要分段”标志。
  
  在一般你所发送的数据包都会通过路由分段再发送给对方,加上此参数以后路由就不会再分段处理。
  
  -i TTL Time To Live.
  
  指定TTL值在对方的系统里停留的时间。
  
  此参数同样是帮助你检查网络运转情况的。
  
  -v TOS Type Of Service.
  
  将“服务类型”字段设置为 tos 指定的值。
  
  -r count Record route for count hops.
  
  在“记录路由”字段中记录传出和返回数据包的路由。
  
  在一般情况下你发送的数据包是通过一个个路由才到达对方的,但到底是经过了哪些路由呢?通过此参数就可以设定你想探测经过的路由的个数,不过限制在了9个,也就是说你只能跟踪到9个路由,如果想探测更多,可以通过其他命令实现,我将在以后的文章中给大家讲解。以下为示例:
  
  C:\>ping -n 1 -r 9 202.96.105.101 (发送一个数据包,最多记录9个路由)
  
  Pinging 202.96.105.101 with 32 bytes of data:
  
  Reply from 202.96.105.101: bytes=32 time=10ms TTL=249
  
  Route: 202.107.208.187 ->
  
  202.107.210.214 ->
  
  61.153.112.70 ->
  
  61.153.112.89 ->
  
  202.96.105.149 ->
  
  202.96.105.97 ->
  
  202.96.105.101 ->
  
  202.96.105.150 ->
  
  61.153.112.90
  
  Ping statistics for 202.96.105.101:
  
  Packets: Sent = 1, Received = 1, Lost = 0 (0% loss),
  
  Approximate round trip times in milli-seconds:
  
  Minimum = 10ms, Maximum = 10ms, Average = 10ms
  
  从上面我就可以知道从我的计算机到202.96.105.101一共通过了202.107.208.187 ,202.107.210.214 , 61.153.112.70 , 61.153.112.89 , 202.96.105.149 , 202.96.105.97这几个路由。
  
  -s count Timestamp for count hops.
  
  指定 count 指定的跃点数的时间戳。
  
  此参数和-r差不多,只是这个参数不记录数据包返回所经过的路由,最多也只记录4个。
  
  -j host-list Loose source route along host-list.
  
  利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。
  
  -k host-list Strict source route along host-list.
  
  利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。
  
  -w timeout Timeout in milliseconds to wait for each reply.
  
  指定超时间隔,单位为毫秒。
  
  此参数没有什么其他技巧。
  
  ping命令的其他技巧:在一般情况下还可以通过ping对方让对方返回给你的TTL值大小,粗略的判断目标主机的系统类型是Windows系列还是UNIX/Linux系列,一般情况下Windows系列的系统返回的TTL值在100-130之间,而UNIX/Linux系列的系统返回的TTL值在240-255之间,当然TTL的值在对方的主机里是可以修改的,Windows系列的系统可以通过修改注册表以下键值实现:
  
  [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
  
  "DefaultTTL"=dword:000000ff
  
  255---FF
  
  128---80
  
  64----40
  
  32----20
  
  好了,ping命令也基本上完全讲解完了,其中还有-j,-k参数我还没有详细说明,由于某些原因也包括我自己所收集的资料过少这里也没有向大家详细介绍,请大家见谅,如果在看了这篇文章的朋友当中有知道得比我更多的,以及其他使用技巧的也希望您能告诉我,并在此先谢过!

上一篇:Redis面经:重新整理 5 种数据类型的用法和应用场景


下一篇:HashMap的底层实现原理