此文章转自 小和尚闹洞房 空间
以下列出在NT系统中基本的网络命令和使用方法:
一、ipconfig命令:
ipconfig命令应该是最最基础的命令了,主要功能就是显示用户所在主机内部的IP协议的配置信息等资料。
它的主要参数有:
all:显示与TCP/IP协议相关的所有细节信息,其中包括测试的主机名、IP地址、子网掩码、节点类型、是否启用IP路由、网卡的物理地址、默认网关等。
renew all:更新全部适配器的通信配置情况,所有测试重新开始。
release all:释放全部适配器的通信配置情况。
renew n:更新第n号适配器的通信配置情况,所有测试重新开始。
例如:
C:\>ipconfig
Windows IP Configuration
Ethernet adapter 本地连接:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 192.168.0.14
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.0.1
二、Net命令:
Net命令主要是在windows NT平台中完成一些网络工作,它的功能非常强大,可以这么说如果你想学习windows平台下的网络安全,必须熟悉使用该命令。该命令的语法很多,功能强大,我们只是介绍一些简单常用的。
1.建立IPC连接:
只要你拥有某IP的用户名和密码,那就用IPC$做连接,这里我们假如你得到的用户是管理员administrator,密码是123456。假设对方IP为192.168.0.1
net use \\192.168.0.1\ipc$ "123456" /user:"administrator"
一般会显示如下信息:
C:\>net use \\192.168.0.1\ipc$ "123456" /user:"administrator"
命令成功完成。
退出的命令是:net use \\192.168.0.1\ipc$ /del
一般执行后会显示如下信息:
C:\>net use \\192.168.0.1\ipc$ /del
\\192.168.0.1\ipc$ 已经删除。
当然你也可以建立一个空的IPC连接,也就是我们常说的空连接,也就是不需要用户名和密码的IPC连接,一般建立这类连接后就可以获取对方的很多系统信息,比如用户名,共享资源等。建立空连接和建立IPC连接是一样的,不过是不需要用户名和密码,例如我们要建立和IP地址为192.168.0.39的机器的空连接,使用以下命令:
net use \\192.168.0.39\ipc$ "" /user""
如果提示成功就建立了和该IP地址的空连接,然后通过其它命令就可以获取一些该系统的信息,这些系统信息在入侵或者是网络维护中是起着非常重要的作用的,比如你获取了用户名,那么你就可以进行暴力破解密码等。
2.映射磁盘:
如果和对方建立了IPC连接,那么就可以映射对方的磁盘。
这里是讲映射对方的C盘,当然其他盘也可以,只要存在就行了.我们这里把对方的C盘映射到本地的Z盘.
net use z:\\127.0.0.1\c$
执行命令后效果如下:
C:\>net use z: \\192.168.0.92\c$
命令成功完成。
如果这么映射磁盘后,我们就可以直接通过访问本地的Z盘来访问对反的C盘。
3.打开服务:
如果想打开自己的一些服务,那么就可以使用net start命令,例如:
net start telnet
就可以打开Telnet服务了。
一般有如下信息显示:
C:\>net start telnet
Telnet 服务正在启动 .
Telnet 服务已经启动成功。
C:\>
4.关闭服务:
关闭服务使用net stop命令,例如:
net stop tenet //就可以关闭Telnet服务啦
一般执行后,有如下信息:
C:\>net stop telnet
Telnet 服务正在停止.
Telnet 服务已成功停止。
C:\>
5.建立用户:
必须有足够的权限,建立用户可以是本机,如果是对方的机器,必须远程登陆到对方系统,或者获得了一个shell后才能执行。(输入命令时要注意空格)
我们添加一个hacker的用户密码为lovehacker:
net user hacker lovehacker /add
只要显示命令成功,那么我们可以把他加入Administrator组(管理员组)了:
net localgroup Administrators hacker /add
6.激活用户/停止用户:
Guest用户默认是打开的,但是有写管理员会把它停止,我们怎么把它从新激活呢?可以使用net user命令:
net user guest /active:yes
如果我们想停止一个活动用户,比如停止Guest用户:
net user guest /active:no
7.显示网络资源共享状况
net view,可以显示网络资源共享状况,比如执行 net view \\IP地址,就可以查看该机器的资源共享状况,前提是必须建立了IPC连接,当然你可以建立一个空的IPC连接,也就是不需要用户名和密码的IPC连接。(上面的IPC连接有讲到,请仔细阅读)例如:
C:\>net view \\192.168.0.39
在 \\192.168.0.39 的共享资源
共享名 类型 使用为 注释
--------------------------------------------------------
ftproot Disk
webroot Disk
命令成功完成。
8.发送网络消息:
使用net send命令可以给局域网/广域网发送一条消息,格式为:net send IP地址 “消息内容“,如:
net send 192.168.0.1 "这是net send发送的消息!"
那么一回儿后192.168.0.1的机器将出现一个标题为“信使服务”的窗口,里面显示了你发送的消息,当然如果对方关闭了Messenger服务的话,这条消息是不会显示的,如果你不想收到该类消息,也可以在服务中把Messenger服务关闭。
三、At命令:
1.本地AT命令:
at命令是一个计划任务命令,和我们windows中的计划任务效果是一样的,但是它是通过命令的方式。
一般我们可以在本机上直接使用at命令来运行一些已经存在的程序,比如现在是19:58,我们想在20:00的时候运行cmd.exe打开:at 20:00 c:\winnt\system32\cmd.exe
那么就会显示“新加了一项作业,其作业 ID = 1",然后在执行"at"命令就可以看见以下信息:
状态 ID 日期 时间 命令行
-----------------------------------------------------------------------
1 今天 下午 20:00 cmd.exe
那么在20:00就会打开一的cmd的窗口。如果想取消计划任务的话,可以使用以下命令:
at ID号 /del,ID号就是上面显示的ID-->1,那么如果我们要取消ID为1的计划任务,就可以执行下面的命令:
at 1 /del
如果对该命令有不熟悉的的地方,可以使用at /?命令来查看它的帮助。
2.远程AT命令:
一般一个入侵者入侵后都会留下后门,也就是种木马了,你把木马传了上去,怎么启动他呢?
那么需要用AT命令,这里假设你已经登陆了那个服务器,你首先要得到对方的时间,
net time \\127.0.0.1
将会返回一个时间,这里假设时间为12:1,现在需要新建一个作业,其ID=1:
at \\127.0.0.1 12:3 c:\winnt\system32nc.exe
后面的路径是要运行的程序在对方磁盘的目录,这个要搞清楚。
这里假设了一个木马,名为NC.EXE,这个东西要在对方服务器上。
四、Telnet命令:
Telnet命令是一个远程登陆的命令,就可以通过这个命令来远程登陆网络上已经开发了远程终端功能的服务器,来达到像本地计算机管理远程计算机。
该命令格式:telnet 远程主机IP 端口
例如:telnet 192.168.0.1 23
如果我们不输入端口,则默认为23端口。
一般登陆后,对方远程终端服务就会要求你输入用户名和密码,正确就让你登陆。
一般出现如下消息:
Welcome to Microsoft Telnet Service
login: root
password: ******
如果登陆成功后将出现如下信息:
*===========================================
Welcome to Microsoft Telnet Server.
*===========================================
C:\Documents and Settings\root>
那么代表你通过telnet到了对方的系统,就可以做在你用户权限内的所有事情啦!
五、FTP命令:
FTP命令是一个文件传输的命令,该命令可以在两台互联的机器之间传送文件,这跟我们常用的FTP软件是一样的,但是我们的软件一般都是GUI(可视)界面的,但它是命令类型的。
FTP命令主要是在网上进行文件的传输,它的子命令非常多,我们挑一些主要的来讲。
一般在命令提示符下输入FTP后,就打开如下界面:
C:\>ftp
ftp>
那么我们输入的命令都是在"ftp>"后面的,也就是说我们输入ftp命令后,那么我们就进入了FTP的平台,所有的操作都是基于FTP上的。假如我们要打开一台网络上已经开了FTP服务的服务器,那么我们就可以登陆到该服务器,然后上传/下载文件,有时候我们的权限是只能下载,那么我们就不能上传,这具体要看你有的权限。
假如我们要打开一个FTP服务器,那么我们就可以在FTP平台下输入:
open 主机IP 端口
例如:ftp>open 192.168.0.39 21,那么就会显示下面的效果:
C:\>ftp
ftp> open 192.168.0.39
Connected to 192.168.0.39.
220 Serv-U FTP Server v4.2 for WinSock ready...
User (192.168.0.39:(none)):
到这里就需要我们输入用户名,如果是对方的服务器是支持匿名的,那么我们就可以输入像ftp之类的用户,如:
User (192.168.0.39:(none)): ftp
331 User name okay, please send complete E-mail address as password.
Password:
密码也是输入ftp,那么就会显示登陆成功,如下:
Password: ***
230-(欢迎你来到FTP192.168.0.39服务器!)
230 User logged in, proceed.
ftp>
显示230就代表代表登陆成功,如果显示别的,比如530,那么就是用户名或密码错误,登陆失败。
登陆后就可以使用一些命令,包括上传/下载,执行外部命令等。要获得FTP的所有命令,可以键入help命令,它所有命令列表如下:
ftp> help
Commands may be abbreviated. Commands are:
! delete literal prompt send
? debug s put status
append dir mdelete pwd trace
ascii disconnect mdir quit type
bell get mget quote ser
binary glob mkdir recv verbose
bye hash mls remotehelp
cd help mput rename
close lcd open rmdir
我们把常用的命令解释一下:
1.!:执行一个非FTP平台下的外部命令,如:!cls,那么将清除屏幕。
2.delete:删除一个文件,比如在你的当前FTP根目录下有一个dir1.txt的文件,你需要删除它,就输入 delete dir1.txt。
3.ls:列出现在有的文件列表,该命令是Unix/Linux下的一个命令,主要是列出该目录下的文件,而不管文件夹
4.put:从本地计算机上传一个文件到FTP服务器上,例如:put cmd.exe,那么就会把当前目录下有的cmd.exe传的FTP服务器5.上的当前目录,该命令是最常用的。
6.ascii:该命令可以使上传的文件是按照ASCII码来传输的。
7.get:该命令也比较常用,也是把对方FTP服务器上的文件下载到自己的当前目录。如:get cmd.exe,就会把FTP服务器上的
8.cmd.exe文件下载到当前目录。
9.mdelete/rmdir:删除一个目录/文件夹,比如:mdelete a ,那么该文件夹将被删除。
10.pwd:显示当前所处在FTP的那个目录下,相当于显示当前路径。例如:
ftp> pwd
257 "/SOFTWARE/safe_tools" is current directory.
11.quit/bye:结束当前的FTP连接,并且退出FTP。
12.type:设定文件传输类型,类型有: [ ascii | binary | image | tenex ],如果你是传文本文件之类的就使用ascii码,如果是应用程序的话,就使用binary,如果是图片就使用image。FTP默认的是ascii码,如果你要传应用程序,就要使用binary。例如我们要上传一个lk.exe的文件,那么我们先设置传输模式为binary,然后再上传,如:
ftp> type binary
200 Type set to I.
ftp> put lk.exe
200 PORT Command successful.
150 Opening BINARY mode data connection for lk.exe.
226 Transfer complete.
ftp: 3800 bytes sent in 0.01Seconds 380.00Kbytes/sec.
ftp>
13.mget:同时下载多个文件。
14.mput:同时上传多个文件。
15.user:向远程主机器表示自己的身份,如:
ftp> user
Username: ftp
331 User name okay, please send complete E-mail address as password.
Password: ***
230 User logged in, proceed.
16.cd:切换目录,进入一个目录使用cd 目录,退到上一个层目录使用cd ..(注意中间有一个空格),该命令比较常用。
17.help/?:显示帮助,主要是显示在FTP下可以用的命令。
18.rename:重命名,给文件重新命名。
19.close:关闭当前的FTP连接,但是不退出FTP,和quit/bye命令不一样。如:
ftp> clos
221 Goodbye!
ftp>
20.open 打开一个FTP连接。如:
ftp> open 192.168.0.39
Connected to 192.168.0.39.
220 Serv-U FTP Server v4.2 for WinSock ready...
User (192.168.0.39:(none)):
FTP中比较常用的命令就这些,当然还设计一些别的命令,而且也要因不同的FTP服务器支持的命令不一样而定,所以如果碰到实际应用中不同,请参考相关的资料。
六、ping命令:
ping命令是一个在网络中非常重要的并且常用的命令,主要是用来测试网络是否连通。该命令通过发送一个ICMP (网络控制消息协议)包的回应来看是否和对方连通,一般我们用来测试目标主机是否可以连接,或者可以通过TTL值来判断对方的操作系统的版本。
比如你想测试你和IP地址为192.168.0.1的机器是否连通,那么就可以使用这个命令:ping 192.168.0.1,那么如果连通就会有如下返回:
C:\>ping 192.168.0.1
Pinging 192.168.0.1 with 32 bytes of data:
Reply from 192.168.0.1: bytes=32 time<1ms TTL=128
Reply from 192.168.0.1: bytes=32 time<1ms TTL=128
Reply from 192.168.0.1: bytes=32 time<1ms TTL=128
Reply from 192.168.0.1: bytes=32 time<1ms TTL=128
Ping statistics for 192.168.0.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
如果不连通的话,就会返回超时:
C:\>ping 192.168.0.1
Pinging 192.168.0.1 with 32 bytes of data:
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping statistics for 192.168.0.1:
Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
那么就证明你和该计算机的网络不通,也许是对方没有上网,或者装了防火墙。
在局域网中,如果是同一个工作组的机器,你可以通过ping对方的机器名称获得对方的IP地址,如:
C:\>ping hysw
Pinging hysw [192.168.0.14] with 32 bytes of data:
Reply from 192.168.0.14: bytes=32 time<1ms TTL=64
Reply from 192.168.0.14: bytes=32 time<1ms TTL=64
Reply from 192.168.0.14: bytes=32 time<1ms TTL=64
Reply from 192.168.0.14: bytes=32 time<1ms TTL=64
Ping statistics for 192.168.0.14:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
在ping里面还有一个 -t 参数,是可以不间断的向一个机器发送包,使用-l 包大小参数还能设定发送包的最大值,这样差不多句有了DoS的功能了,也就是在黑客技术中的洪水攻击,最大值为65500。如:
C:\>ping 192.168.0.1 -t -l 65500
Pinging 192.168.0.1 with 65500 bytes of data:
Reply from 192.168.0.1: bytes=65500 time=14ms TTL=128
Reply from 192.168.0.1: bytes=65500 time=13ms TTL=128
Reply from 192.168.0.1: bytes=65500 time=14ms TTL=128
Reply from 192.168.0.1: bytes=65500 time=13ms TTL=128
Reply from 192.168.0.1: bytes=65500 time=14ms TTL=128
Reply from 192.168.0.1: bytes=65500 time=14ms TTL=128
Ping statistics for 192.168.0.1:
Packets: Sent = 6, Received = 6, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 13ms, Maximum = 14ms, Average = 13ms
Control-C
^C
C:\>
因为加了-t参数,ping命令本身是不会停止的,于是我们就可以使用Ctrl + C来终止该命令。ping命令还有一些别的参数,请自己参考帮助。
七、netstat命令:
netstat命令的功能是显示网络连接、路由表和网络接口信息,可以让用户得知目前都有哪些网络连接正在运作。
它能检验IP的当前连接状态,在断定你的基本级通信正在进行后,就要验证系统上的服务。这个服务包括检查正在收听输入的通信量和/或验证你正在创建一个与远程站点的会话,它可以很轻松地做到这一点。
netstat的参数有:
-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ifconfig -e”。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
我们一般常用的参数有-a ,-n。使用-a参数可以显示本机正在监听的端口,包括TCP/UDP两种协议的端口,一般这样我们可以查看本机器的监听状况,可以查看是不是有后门工具在工作等。例如:
C:\>netstat -a
Active Connections
Proto Local Address Foreign Address State
TCP hysw:echo hysw:0 LISTENING
TCP hysw:discard hysw:0 LISTENING
TCP hysw:daytime hysw:0 LISTENING
TCP hysw:qotd hysw:0 LISTENING
TCP hysw:chargen hysw:0 LISTENING
TCP hysw:epmap hysw:0 LISTENING
TCP hysw:microsoft-ds hysw:0 LISTENING
TCP hysw:1025 hysw:0 LISTENING
TCP hysw:2103 hysw:0 LISTENING
TCP hysw:2105 hysw:0 LISTENING
TCP hysw:2107 hysw:0 LISTENING
TCP hysw:3306 hysw:0 LISTENING
TCP hysw:1034 localhost:3306 ESTABLISHED
TCP hysw:3306 localhost:1034 ESTABLISHED
TCP hysw:netbios-ssn hysw:0 LISTENING
UDP hysw:echo *:*
UDP hysw:discard *:*
UDP hysw:daytime *:*
UDP hysw:qotd *:*
UDP hysw:chargen *:*
UDP hysw:epmap *:*
UDP hysw:microsoft-ds *:*
UDP hysw:isakmp *:*
UDP hysw:ntp *:*
UDP hysw:ntp *:*
UDP hysw:netbios-ns *:*
UDP hysw:netbios-dgm *:*
C:\>
一般-n参数主要是显示本地的连接状况,包括本机连接其他系统和其它系统连接本机,包括主机的IP和端口,如:
C:\>netstat -n
Active Connections
Proto Local Address Foreign Address State
TCP 127.0.0.1:1034 127.0.0.1:3306 ESTABLISHED
TCP 127.0.0.1:3306 127.0.0.1:1034 ESTABLISHED
TCP 192.168.0.14:1371 192.168.0.159:21 ESTABLISHED
C:\>
八、nbtstat命令:
nbtstat和netstat可以说都是Windows下的网络检测工具,NBTSTAT命令:用于查看当前基于NETBIOS的TCP/IP连接状态,通过该工具你可以获得远程或本地机器的组名和机器名 。虽然用户使用ipconfig工具可以准确地得到主机的网卡地址,我们通过在自己上网的机器上使用nbtstat命令,可以获取另一台上网主机的网卡地址和用户名工作组等信息,这些信息对入侵至关重要。
常用参数说明:
-a Remotename——说明使用远程计算机的名称列出其名称表,此参数可以通过远程计算机的NetBios名来查看他的当前状态。
-A IP address——说明使用远程计算机的 IP 地址并列出名称表,这个和-a不同的是就是这个只能使用IP,其实-a就包括了-A的功能了。
-c——列出远程计算机的NetBIOS 名称的缓存和每个名称的 IP 地址 这个参数就是用来列出在你的NetBIOS里缓存的你连接过的计算机的IP。
-S—— 在客户端和服务器会话表中只显示远程计算机的IP地址。
使用-A参数获取对方的工作组和用户名:
C:\>nbtstat -A 192.168.0.14
本地连接:
Node IpAddress: [192.168.0.14] Scope Id: []
NetBIOS Remote Machine Name Table
Name Type Status
---------------------------------------------
HYSW <00> UNIQUE Registered
MSHOME <00> GROUP Registered
HYSW <20> UNIQUE Registered
MSHOME <1E> GROUP Registered
ROOT <03> UNIQUE Registered
MAC Address = 00-E0-4C-A3-F3-1C
显示为GROUP的前面的MSHOME就是工作组,证明该机器是在MSHOME工作组里,下面的<03>前面显示的ROOT就是用户名了,系统用户名为root。其它的一些参数可以自己去测试,或者查看相关帮助来掌握。
九、tracert命令:
tracert命令主要用来显示数据包到达目的主机所经过的路径,显示数据包经过的中继节点清单和到达时间。
该命令的使用格式:tracert 主机IP地址或主机名
执行结果返回数据包到达目的主机前所历的中断站清单,并显示到达每个继站的时间。该功能同ping命令类似,但它所看到的信息要比ping命令详细得多,它把你送出的到某一站点的请求包,所走的全部路由均告诉你,并且告诉你通过该路由的IP是多少,通过该IP的时延是多少。
该命令参数有:
-d:不解析目标主机的名称
-h: maximum_hops 指定搜索到目标地址的最大跳跃数
-j:host_list 按照主机列表中的地址释放源路由
-w:timeout 指定超时时间间隔,程序默认的时间单位是毫秒
使用tracert命令可以很好的连接和目标主机的连接通道,一般为下一不的入侵或者测试获得详细的网络信息打好基础,例如中途经过多少次信息中转,每次经过一个中转站时花费了多长时间。通过这些时间,我们可以很方便地查出用户主机与目标网站之间的线路到底是在什么地方出了故障等情况。如果我们在tracert命令后面加上一些参数,还可以检测到其他更详细的信息。例如使用参数-d,可以指定程序在跟踪主机的路径信息时,同时也解析目标主机的域名。
我们简单的使用该命令来测试到达www.baidu.com的时间和经过的IP地址:
C:\>tracert www.baidu.com
Tracing route to www.baidu.com [202.108.250.228]
over a maximum of 30 hops:
1 <1 ms <1 ms <1 ms 192.168.0.1
2 1 ms <1 ms 1 ms 211.152.23.6
3 * 5 ms 3 ms 211.152.47.253
4 3 ms 3 ms 3 ms 210.78.156.66
5 3 ms 9 ms 4 ms 211.99.57.113
6 6 ms 5 ms 7 ms 202.108.250.228
Trace complete.
看信息我们知道我们通过了6个IP节点和使用的时间。第一个一般是我们的机器是从该IP出去的,第二个开始就是经过的路由,最后一个当然就是我们的目的地了。在入侵中,如果你肯对这些地址层曾追查的话,一定会有大收获啦。
十、nslookup命令:
nslookup命令的功能是查询一台机器的IP地址和其对应的域名,通常它能监测网络中DNS服务器是否能正确实现域名解析它,它的运行需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。
该命令的一般格式为:nslookup [IP地址/域名] ,如果在本地机上使用nslookup命令来查询www.baidu.com的话,执行后如下:
C:\>nslookup www.baidu.com
Server: dns2000.ruc.edu.cn
Address: 202.112.112.100
Non-authoritative answer:
Name: www.baidu.com
Address: 202.108.250.228
或者可以先进入nslookup模式再输入要查找的[域名/IP]:
C:\>nslookup
Default Server: dns2000.ruc.edu.cn
Address: 202.112.112.100
> www.baidu.com
Server: dns2000.ruc.edu.cn
Address: 202.112.112.100
Non-authoritative answer:
Name: www.baidu.com
Address: 202.108.250.228
>
如果要退出该命令,输入exit并回车即可。别的一些强悍功能可以自己去摸索,或者查找相关的帮助。
到此为止,我们在NT下的基本常用的网络命令就介绍完毕,当然还有一些命令,比如finger、arp、hostname、route、ftfp等命令我们就不做介绍了,如果还想进一步了解的话,请查阅相关的帮助或者资料。
还有一点,很多命令在NT和Unix/Liunx下的作用是差不多的,而且很多子命令和参数也是差不多的,你学了以后完全可以举一反三,学会更多的东西。当然我们学东西不是一朝一夕就可以的,而是在长期的学习和使用中掌握的,所以希望你们学习的话能够把这写东西拿到实践中去,那么就不会觉得这些命令很难了;如果还有一些更基础的命令,比如Copy,dir,md,echo,attrib等没有熟悉的话,我希望你们能够去阅读一些DOS命令入门之类的东西,或者去网上搜索相关的东西,可以说,学习网络安全很多时候都是在“命令提示符”那黑乎乎的界面下进行的,一些常用命令的掌握,有助于你更好的学习深