实验过程
arp命令的使用
- 在打开的Powershell终端输入
arp -a
,查看当前arp表。可以看出,arp映射分为动态与静态两种。静态映射中的IP-MAC对通常具有特殊作用。例如查询资料可知,位于 224.0.0.0
到 239.255.255.255
端的IP被用于将数据包发送到多个目的地,这类地址被称为多播地址;255.255.255.255
为广播地址。而动态的条目通常是局域网中真实存在的主机。例如 192.168.1.1
是本机所连接到路由器的IP地址。
- 在arp表中新增一条记录,使得IP地址
10.3.1.106
与MAC地址fc-d9-08-83-94-9c
相对应。在终端输入arp -s 10.3.1.106 fc-d9-08-83-94-9c
,运行后再次查看arp表,可看到变动。
- 完成上述后删除该条记录,可看到arp表中该条记录消失。
ftp命令的使用
- 首先登录到ftp服务器,使用匿名用户名
anonymous
登录。看到230 Login successful.
则说明登录成功。
- 使用
ls
查看目录结构,使用cd
切换目录。
- 接收文件并退出连接。可以看到,当前目录下出现了下载完成的文件。
ipconfig命令的使用
- 直接运行
ipconfig
命令如图所示,显示了TCP/IP协议的配置信息。
- 使用
ipconfig /displaydns
可以显示本机上的DNS域名解析列表。在需要频繁访问某一网站的情况下,若每访问一次,都根据域名向DNS服务器请求解析一次,无疑会造成资源的浪费。因此系统会将请求到的DNS记录缓存在本地,在后续的访问中,将直接根据本地的缓存定位到对应的服务器。
- 然而这种方法也存在弊端,若主机遭到了DNS污染攻击,使得主机缓存了错误的DNS记录,则有可能导致部分网站无法访问。(域名被解析到了错误的IP地址)
- 这时使用
ipconfig /flushdns
清空本地的缓存,只需保证主机在下次访问该网站时能够向DNS服务器请求到正确的记录,可以解决这一问题。
nbtstat命令的使用
- 输入
nbtstat -n
查看本机目前的NetBIOS名称。可以在目前已经连接到的网络上看到本机的名称。
- 输入
nbtstat -s
查看当前活跃的会话。可以看到,目前本机没有任何NetBIOS连接。这是因为局域网内目前并没有其他在线的主机,同时这一协议在当下已经少有应用。
net命令的使用
- 输入
net share
命令查看本机上所有的共享资源。可以看到当前本机存在的共享磁盘。(多用户间共享)
- 输入
net user
命令查看本机所有用户。同样,net user
可以对用户进行管理操作,此处不再演示,具体操作方式可通过 net help user
获取。
netstat命令的使用
- 使用
netstat -an
可以查看当前的所有连接。其中参数 -n
表示以数字形式显示目标,而非主机名。同样,也可以使用参数 -p [协议]
来对条目进行筛选。
- 使用
netstat -s
可以查看各个协议的统计信息,即一共发送/接收的多少这一协议下的数据包。
ping命令的使用
- ping命令可以说是日常最容易接触到的一个命令,最常用来检查是否能够访问某一网站,或者主机能否上网。只需在命令行中输入
ping [域名/IP地址]
。
- 同样,ping命令也可以检查局域网中的主机是否在线。例如此处尝试ping位于同一局域网下的手机。
- 由于ping命令可以得到访问某一网络位置的延迟、丢包率等指标,它还可以用来检查连接是否稳定。例如,我们可以使用
ping -t
命令持续访问github.io
。其中,参数 -t
表示持续发送数据包,直至手动中断。通过持续的数据包,我们可以得到样本量较大的统计结果,从而判断连接是否稳定。
- 不难发现,访问Github的连接时有丢包,丢包率达到了11%,说明连接不够稳定。
route命令的使用
- 使用
route print
命令检查本机路由表。如下所示。
- 使用
route ADD [网络目标] MASK [子网掩码] [网关]
的格式可以添加路由表项。如图所示:
- 添加完后,路由表如图所示。
- 使用
route DELETE [网络目标]
的格式删除路由表项,如图所示。
telnet命令的使用
- 首先连接到服务器进行邮件的接收。 邮件接收使用POP3协议和IMAP协议,此处的主要目的是演示telnet协议的使用,因此仅使用POP3协议连接到网易邮箱的POP3服务器,接收邮件。由于在新版本的Windows中,Telnet功能默认已处于关闭状态,因此该部分命令在Linux系统下完成。
- 使用Telnet命令连接到网易的POP3服务器,端口为110:
telnet pop3.163.com 110
,出现下图字样,表示连接成功。但此时还没有进行登录,因此无法查看邮件。
- 按照格式输入用户名与密码进行登录,出现以下字样表示登录成功。使用
USER [用户名]
、PASS [密码]
进行登录。其中密码为使用POP3/SMTP等协议的专用授权码,需要在网易邮箱网页端进行设置。
- 使用
LIST
命令列出邮件,使用RETR <email_number>
命令检索特定邮件。此处选择查看长度较短的第5封邮件。输入 RETR 5
返回邮件内容。可以从消息头看出来,该封邮件来自信息学科部,发送时间为 9 月 14 日 00:57 分。邮件内容采用base64编码。将其复制到解码器中解码,可查看邮件内容。
- 解码得到的邮件内容如下,为学院学科部的自动回复邮件:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
</HEAD>
<BODY>
<div style="margin:4px 4px 0px 4px; padding:10px 10px 0 10px; font-size:14px; margin-bottom:10px;"><pre>已收到你班本周考勤记录,谢谢配合</pre></div>
<!--英文说明-->
<div style="margin:0px 4px 4px 4px; padding:0 10px;"><pre>This is an automatic reply, confirming that your e-mail was received.Thank you</pre></div>
</body>
- 在接收完邮件之后,使用
QUIT
切断与服务器的连接。
- 接下来使用
telnet
连接到SMTP服务器发送邮件。 使用 telnet smtp.163.com 25
连接到网易邮箱的SMTP服务器,并执行登录操作。需要注意的是,登录时的用户名与密码需要经过base64编码。出现Authentication successful
,则说明登录成功。
- 登录后在终端发送邮件,如下图所示。图中黄色标记的为手动输入的内容。在发送
MAIL FROM
和 RCPT TO
指令指定发件人和收件人,输入 DATA
之后开始键入邮件内容,并以用空行隔开的 .
表示输入结束。当返回 250 Mail OK
响应时,说明邮件已被发送出去。此时可以切断与服务器的连接。
- 与此同时,收件邮箱收到了发送出来的邮件。说明邮件发送成功。
tracert命令的使用
- tracert命令和ping命令类似,可以直接在后接域名或者IP地址。此处追踪
bing.cn
观察结果。
- 市面上也有类似的应用,可结合地图和IP归属地查询工具,帮助我们更直观地分析链路。如BestTrace。
实验结论与分析
- 使用arp命令添加表项时提示:
ARP 项添加失败: 请求的操作需要提升。
- 分析与解决:修改arp表等系统配置需要较高的权限,需要在管理员权限下运行。在用管理员模式打开终端后成功运行。同样,route命令也需要管理员权限。
- 使用telnet命令连接到smtp服务器时始终无法登录
- 分析与解决:smtp服务器仅接受base64编码后的用户名密码,需要将用户名密码base64编码后再发送。
- 使用telnet命令连接到POP3服务器时无法通过登录
- 分析与解决:需要在网易邮箱打开相应开关。