Windows Server入门系列之十五 深入了解ping命令

本文涉及的产品
云防火墙,500元 1000GB
简介:

1.基本用法


Ping用于测试网络是否连通,可以说是最常用的网络命令。
Ping命令利用ICMP协议进行工作,原理是在发送方主机上发送“echorequest”(回显请求)控制消息,接收方正确接收后即发回“echoreply”(回显应答)控制消息,从而判断出双方能否正常通信。

133240817.jpg

假设在A计算机上pingB,如果能ping通,在A计算机上显示的信息是从B计算机上返回来的。如果不能ping通,A计算机上显示的信息则是由系统产生的错误提示。
在Windows系统中,默认情况下,每次执行ping命令会发送4个ICMP“回显请求”(echorequest),每个数据包大小为32字节,如果一切正常,应能收到4个同样为32字节大小的ICMP“回显应答”(echoreply):

133430873.jpg
通过回显应答中的“time”,可以大致的推断出网速情况,数据传递经过的时间越长,网速越慢。

回显应答中的“TTL”,即数据包的生存周期。每个系统对其所发送的数据包都要赋一个TTL的初始值,默认情况下,WindowsXP系统为128,Win7系统为64,Linux系统为64或255(当然,系统的TTL值都是可以修改的)。另外因为数据包每经过一次路由,TTL值就要减1,所以通过TTL值,我们既可以大概地推算出对方主机所用的操作系统,又可以推断出在数据包在传送过程中经过了多少次路由。比如,执行命令“pingwww.baidu.com”,回显应答中显示的TTL值为52,则首先可以推断出对方使用的是Linux系统,其次可以得知数据在传送过程中经过了12次路由。

这点可以通过tracert命令进行验证,tracert也是一个利用ICMP协议的命令,它的原理非常巧妙:它向指定的目的主机发送多次回显请求消息,并把封装该消息的IP报文的TTL值从1开始递增。即tracert命令第一次发送出去的IP报文的TTL为1,这样该报文在经过第一个路由器时,TTL值便被减为了0,这台路由器就要向源主机发回一个回显应答消息,通过这种方式就获得了这台路由器的信息。通过这种递进的查询过程,查询端就可以追踪到达目的主机所经过的所有路由器的情况。

tracert命令的执行结果:

141330590.jpg

另外,大家可能会发现,每次执行tracert命令所查询到路径都不大一样,这是完全正常的,数据包每次传送时采用不同的路径,这正是Internet所采用的分组交换方式的特点。


2.错误提示分析


如果执行ping命令后,无法接收到对方的回显应答,则错误提示通常为:
Requesttimedout
出现这种提示,表示网络不通,但具体故障原因要视实际网络情况而定。
另外还有一种错误提示为:
Destinationhostunreachable
出现这种提示,则通常是因为没有设置网关或网关设置不正确。
比如,有台PC的IP地址为192.168.0.10,子网掩码255.255.255.0,默认网关为192.168.0.1。在这台PC机上随便ping另外一个网段中的不存在的IP,如ping172.16.1.10,因为这个IP根本不存在,所以显示错误提示“Requesttimedout”;

142606705.jpg

将PC机的默认网关删掉,再次ping172.16.1.10,此时则因为没有网关为其转发数据,所以显示错误提示“Destinationhostunreachable”。因而通过不同的错误提示,我们可以大致地判断出故障原因。

142634213.jpg


3.ping命令的防火墙设置

Ping命令利用ICMP协议工作,ICMP是一个比较复杂的协议,功能强大,也经常被黑客利用来攻击网络上的路由器和主机,互联网上的很多攻击方式都或多或少的用到了ICMP协议,所以目前的很多杀毒软件或防火墙都提供了禁用ICMP协议的功能。如Windows2003/XP系统中自带的防火墙就提供了这样的设置,如果两台安装Windows2003/XP系统的主机在网络正常连通的情况下无法彼此ping通,则可以检测在防火墙的ICMP设置中是否启用了“允许传入回显请求”,如果没启用该项功能,那么防火墙将过滤掉ICMP回显请求数据包,从而导致无法ping通。

143102835.jpg

对于Windows7或WindowsServer2008系统的防火墙,可以在“入站规则”中启用“文件和打印机共享(回显请求-ICMPv4-In)”规则,这样防火墙就不会过滤ICMP回显请求数据包了,从而使计算机可以ping通。

143157631.jpg

或者我们也可以自己新建一条防火墙规则,以允许ping命令的数据包通过。

新建一条入站规则,规则类型选择“自定义”:

143515365.jpg

规则应用于所有程序:

143602303.jpg

协议类型选择ICMPv4

143709449.jpg

也可以点击右下角的“自定义”按钮,用于设置允许通过的ICMP消息类型,默认是允许所有消息全部通过:

143839494.jpg

将规则应用于所有的本机IP和所有的远程IP:

143933318.jpg

对符合条件的数据包允许通过:

144020663.jpg

将规则应用于所有的网络类型:

144053603.jpg

为规则起一个名称:

144130430.jpg

这样,我们便自己创建好了一条防火墙规则,利用该规则同样可以使得ping命令的数据包通过。


4.ping命令常用参数

参数可以对命令的功能进行扩展,Ping命令的参数比较多,常用的主要有以下几个:
(1)pingIP地址–t
连续不停对IP地址发送ICMP数据包,直到被用户以Ctrl+C中断。
如:ping192.168.1.1-t
(2)pingIP地址–n
自由指定所发送的ICMP数据包的个数,并且个数没有限制。
如:ping192.168.1.1–n10
(3)pingIP地址–ln
自由指定所发送的ICMP数据包的大小,上限为65500B。
如:ping192.168.1.1–l100


5.拒绝服务攻击

Ping命令的参数也可以组合使用,比如执行“pingIP地址–l65500–t”命令,就可以连续地向某一台主机发送最大数据包,这样就有可能使对方系统资源耗尽而死机或导致无法上网,所以这个命令也被称为“死亡之ping”。
死亡之ping是一种典型的DoS(DenialofService)攻击,即拒绝服务攻击。拒绝服务攻击以被攻击者的机器无法提供正常服务为攻击目的,常见的DoS攻击都是向被攻击者发送大量的垃圾数据包,使被攻击者一直在处理这些垃圾数据包而浪费资源,同时也消耗大量的网络带宽,最后导致被攻击者宕机,或者网络迟缓。但对于目前的计算机来讲,由于大多性能强劲,网络带宽也很高,所以死亡之ping以及一些类似的攻击方法已无法发挥作用。
单独一台计算机对目标机器发动死亡之ping无法发挥作用,但是如果有多台计算机同时向目标机器发动死亡之ping,则威力仍然是巨大的。这种攻击方式就被称为DDoS(DistributionDenialofService),即分布式拒绝服务攻击。大规模的DDoS攻击很难防御,这也是目前一直无法从根本上解决的一个重要的网络安全问题。
下面我们通过一款“SYN攻击器”工具来体验一下拒绝服务攻击。“SYN攻击器”的原理是利用在TCP三次握手的过程中建立大量伪造的半连接,从而耗尽目标计算机的资源。
我们在一台安装有Win2003系统的虚拟机中运行该软件(为保证实验效果,建议将Win2003系统的防火墙关闭),输入要攻击的目标计算机的IP地址和端口号(端口号可以是任意一个开放的TCP端口),然后点击“start”按钮开始攻击。
145108123.jpg

攻击开始后,到目标计算机上打开Windows任务管理器,可以看到此时CPU使用率基本达到了100%,拒绝服务攻击成功。

145146940.jpg

无论目标计算机上是否启用了防火墙,都无法阻挡住SYN攻击,而且此种攻击方式对Win7系统也同样有效。这还只是由单一攻击方发起的DoS攻击,如果是众多攻击方同时展开的DdoS攻击,那么威力将更加强大。


6.利用ping命令排查网络故障

Ping命令对于我们排查网络故障将提供极大地帮助。比如电脑无法接入Internet,我们可以按照如下思路来排查故障。
①首先来ping网关,如果能够ping通,则证明内部网络没有问题,问题应该出在外部网络。
②再来ping某个网址,比如“pingwww.baidu.com”,测试能否将网址解析为IP,以确认是否DNS服务器设置错误。
③如果在步骤①中ping网关不通,则证明问题出在内部网络。此时可以测试能否ping通内网中的其它电脑,如果不能ping通,则证明是我们自己的电脑或是网线出了问题,如果能ping通,问题则与我们的电脑或网线没有关系,多半是内部网络的某处出现了问题。



本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1300573

相关文章
|
3天前
|
Unix Linux iOS开发
ping命令常用参数以及traceout命令
`ping`和 `traceroute`/`tracert`是网络诊断中的两个基本工具,了解它们的常用参数和使用方法对于进行网络问题的排查和性能分析至关重要。通过熟练使用这些基础命令,您可以快速识别和解决网络连接问题,保证网络的稳定性和可靠性。
8 1
|
4天前
|
Unix Linux iOS开发
ping命令常用参数以及traceout命令
`ping`和 `traceroute`/`tracert`是网络诊断中的两个基本工具,了解它们的常用参数和使用方法对于进行网络问题的排查和性能分析至关重要。通过熟练使用这些基础命令,您可以快速识别和解决网络连接问题,保证网络的稳定性和可靠性。
19 2
|
9天前
|
弹性计算 持续交付 Docker
阿里云云效产品使用合集之如何部署到阿里云服务器上的 Windows Server 上的 IIS
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
16天前
|
网络协议 Unix 网络安全
FTP服务器怎么搭建?Windows server搭建FPT服务器
FTP服务器是按照FTP协议提供文件传输服务的计算机。它用于在两台计算机间安全地传输文件,支持用户权限管理和跨平台操作。FTP使用控制连接处理命令,数据连接传输文件,有PORT和PASV模式。要搭建FTP服务器,首先在Windows Server 2008 R2上安装IIS,确保选中FTP服务。接着,创建FTP文件夹作为站点根目录,通过IIS管理器添加FTP站点,配置站点信息、身份验证和权限。测试客户端通过telnet和浏览器访问FTP服务器,确认能成功登录及浏览文件。FTP常用于文件共享和管理,可通过专用工具如FlashFXP上传下载文件。
42 0
FTP服务器怎么搭建?Windows server搭建FPT服务器
|
22天前
|
前端开发 JavaScript 应用服务中间件
windows server + iis 部署若伊前端vue项目
5,配置url重写规则(重写后端请求) 注:如果没有Application Request Routing Cachefourcloudbdueclaim和URL重写,则是第二部的那两个插件没装上 打开iis,点击计算机->点击Application Request Routing Cache -> 打开功能
56 0
网络请求和下载,ping baidu Ctrl + C停掉,wegt命令可以在命令行内下载网络文件
网络请求和下载,ping baidu Ctrl + C停掉,wegt命令可以在命令行内下载网络文件
|
2月前
|
开发框架 .NET API
在Windows Server 2008 R2上运行.Net 8应用
在Windows Server 2008 R2上成功运行.Net 8程序,需安装三个补丁:Windows Server 2008 R2 SP1 (KB976932)是基础更新;VC_redist.x64提供MSVC库支持;KB3063858解决.NET运行时加载`kernel.dll`的路径问题。KB3063858可能需要KB2533623。详细信息和下载链接在文中给出。
130 4
|
7月前
|
存储 安全 Apache
2023-10 适用于基于 x64 的系统的 Windows Server 2012 R2 月度安全质量汇总(KB5031419)
2023-10 适用于基于 x64 的系统的 Windows Server 2012 R2 月度安全质量汇总(KB5031419)
493 2
|
2月前
|
关系型数据库 MySQL C++
Windows Server 2012R2 安装mysql 丢失VCRUNTIME140_1.dll------亲测
Windows Server 2012R2 安装mysql 丢失VCRUNTIME140_1.dll------亲测
59 0
|
缓存 JavaScript 前端开发
Windows7压缩包安装node.js 报错提示windows Server 2012 R2 和安装React脚手架 最详细教程
对于Windows 7安装node.js 提示“This application is only supported on wWindows 8.1,windows Server 2012 R2, or higher.”类似这种情况的,该问题是因为node.js官方在 x12版本后就不支持win7系统了。