在 Linux 中,可以使用 'ping命令会向指定的主机发送 ICMP 回显请求,并接收响应。如果主机响应了请求,则表示与该主机之间的网络连通性良好。
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名与空间、虚拟空间、营销软件、网站建设、白城网站维护、网站推广。
例如,要检测主机 192.168.1.1 的网络连通性,可以使用以下命令:
运行该命令后,系统会向 192.168.1.1 发送 ICMP 回显请求,并在接收到响应后打印输出信息。如果网络连通性良好,则会看到类似于以下信息的输出:
如果网络连通性不佳,则会看到类似于以下信息的输出:
##Ctrl+D:在目录下敲击该命令,作用是退出当前用户。
##Ctrl+D:在命令mail、write等命令中敲击该命令,作用是退出当前命令。
1.write
语法:write 用户名
功能:给用户发信息,以Ctrl+D保存结束; 即时通信
2.wall(write all)
语法:wall [message]
功能:发广播信息(给所有用户发信息); 回车键结束命令
3.ping
语法:ping [选项] IP地址
功能:测试网络连通性
-c 次数:指定发送次数
-s 字节:指定探测包的大小
4.ifconfig(interface configure)
语法:ifconfig(或者ifconfig 网卡地址 IP地址 )
功能:查看和设置网卡信息
inet6: IPv6地址目前不生效
5.mail
语法:mail [用户名]
功能:查看或者发送电子邮件 ##输入邮件内容时,删除键为 ctrl+backspace
6.last
语法:last
功能:显示当前与过去登入系统的用户信息
7.lastlog
语法:lastlog
功能:显示所有用户最后登录时间
8.traceroute
语法:traceroute [目标主机]
功能:显示发出数据包的主机到目标主机之间的网关数量
## 星号*** 可能是防火墙封掉了ICMP的返回信息,所以得不到数据包返回数据
9.netstat
语法:netstat [选项]
功能:显示网络相关信息
-a:列出所有网络状态,包括Socket程序
-c 秒数:指定每隔几秒刷新一次网络状态
-n:使用IP地址和端口号显示,不是用域名和服务名
-p:显示PID和程序名
-t:显示使用TCP协议端口的链接状况
-u:显示使用UDP协议端口的链接状况
-l:加显示监听状态的链接
-r:显示路由表
“tuln”选项:查看本机开启的端口,只能查看监听状态的链接。
1) Proto:网络连接的协议,一般就是 TCP 协议或者 UDP 协议。
2) Recv-Q:表示接收到的数据,已经在本地的缓冲中,但是还没有被进程取走。
3) Send-Q:表示从本机发送,对方还没有收到的数据,依然在本地的缓冲中,不具备 ACK 标志的数据包。
4) Local Address:本机的 IP 地址和端口号。
5) ForeignAddress:远程主机的 IP 地址和端口号。
6) State:状态。常见的状态主要有以下几种。
-LISTEN:监听状态,只有 TCP 协议需要监听,而 UDP 协议不需要监听。
-ESTABLISHED:已经建立连接的状态。如果使用"-I"选项,则看不到已经建立连接的状态。
-SYN_SENT:SYN 发起包,就是主动发起连接的数据包。
-SYN_RECV:接收到主动连接的数据包。
-FIN_WAIT1:正在中断的连接。
-FIN_WAIT2:已经中断的连接,但是正在等待对方主机进行确认。
-TIME_WAIT:连接已经中断,但是套接字依然在网络中等待结束。
-CLOSED:套接字没有被使用。
最常用的是LISTEN和ESTABLISHED
10.numtui
语法:numtui
功能:配置网络——centos7独有的功能
11.mount
语法:mount [-t 文件系统] 设备文件名 挂载点
功能:挂载外接设备
在linux下通过命令查网卡配置的方法如下:
1、首先在电脑上打开Linux系统,然后进入Linux系统的终端窗口。
2、然后使用nmcli命令显示所有连接,命令为nmcli con show。
3、然后显示活动的所有配置设置,命令为nmcli con show “System eth0”。
4、然后用nmcli dev status显示设备状态,命令为nmcli dev status。
5、然后再显示eth0设备的设置,命令为nmcli dev show eth0。
6、然后查看活动连接,命令为nmcli con show --active,这样问题就解决了。
作为一名网络管理员,需要掌握日常一些日常的网络故障测试命令将会大大提高故障检测水平。
1、Ping命令。
当您的终端设备不能访问Internet,首先确认是否是本地局域网的故障。首先需要确认一下设备的网卡是否正常,很简单,ping127.0.0.1即可,通了则说明网卡设备正常;其次ping网关是否能通,通了则说明到网关的链路是通的;再次ping局域网内的其他设备,如您的设备ip地址为192.168.101.10,可以ping同网段内的其他设备ip地址,如:192.168.101.100,通则说明本地局域网内通信正常。假如您需要访问的外网段的服务器IP地址为202.222.83.111,您可以使用ping 202.222.83.111命令查看本机是否与外网段的服务器能互通,通则说明网络层面正常,不同则需要排查网络配置。
很多电脑或者是服务器为了防止遭受攻击,会开启防火墙功能,本机的防火墙关闭了ICMP回显响应功能,这个时候是ping不通的,只要将防火墙关闭即可再次测试。
反馈信息(百度百科)
Request timed out
a.对方已关机
b.对方与自己不在同一网段内,通过路由也无法找到对方
c.对方确实存在,但设置了ICMP数据包过滤(比如防火墙设置)
怎样知道对方是存在,还是不存在呢,可以用带参数 -a 的Ping命令探测对方,如果能得到对方的NETBIOS名称,则说明对方是存在的,是有防火墙设置,如果得不到,多半是对方不存在或关机,或不在同一网段内。
d.错误设置IP地址
Destination host Unreachable
对方与自己不在同一网段内,而自己又未设置默认的路由,或者网络上根本没有这个地址,比如上例中A机中不设定默认的路由,运行Ping 192.168.1.4就会出现“Destination host Unreachable”。
网线出了故障
这里要说明一下“destination host unreachable”和 “time out”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。
Bad IP address
这个信息表示您可能没有连接到DNS服务器,所以无法解析这个IP地址,也可能是IP地址不存在。
Source quench received
这个信息比较特殊,它出现的机率很少。它表示对方或中途的服务器繁忙无法回应。
Unknown host ——不知名主机
这种出错信息的意思是,该远程主机的名字不能被域名服务器(DNS)转换成IP地址。故障原因可能是域名服务器有故障,或者其名字不正确,或者网络管理员的系统与远程主机之间的通信线路有故障。
No answer ——无响应
这种故障说明本地系统有一条通向中心主机的路由,但却接收不到它发给该中心主机的任何信息。故障原因可能是下列之一:中心主机没有工作;本地或中心主机网络配置不正确;本地或中心的 路由器 没有工作;通信线路有故障;中心主机存在路由选择问题。
Ping 127.0.0.1: 127.0.0.1是本地循环地址
如果本地址无法Ping通,则表明本地机TCP/IP协议不能正常工作。
no rout to host: 网卡工作不正常
transmit failed,error code: 10043网卡驱动不正常
unknown host name: DNS配置不正确
2、tracert
我在刚刚进入单位之前笔试测试即考过了该命令,简述traceroute的工作原理。
tracert用于windows系统,traceroute用于linux系统。
本质原理都是相同的,即利用ip数据包的生存时间值(ttl)和icmp的错误消息来测试到目标设备的路由问题,显示数据包在ip网络中经过路由器的ip地址。当你的计算机发出tracert 命令时候,计算机向目标地址发送ip数据包,数据包会设置存活时间值(ttl值),每当数据包经过一个路由器,存活时间减1,当存活时间减为0的时候,路由器将不再转发该数据包,而是发出一个icmp ttl 数据包给最初发出数据包的计算机。tracert程序首先向目标地址发送出ttl为1的数据包,当数据包去往目标地址的时候,经过第一个路由器,其生存时间就会减1,ttl值变成0,于是向最初发出数据包的计算机发送一个icmp ttl 数据包,tracert 便获知在路径上的第一个路由器的ip地址,后面依次再发出ttl为2的数据包,经过第二个路由器时候,ttl值已然又变成0,再次向最初计算机发送回icmp ttl 数据包,计算机便获知第二个路由器的ip地址,依次往复,依次向目标地址发送ttl为3.4.5....的数据包,逐个探测出去向目标主机的路由器ip地址,直到到达目标地址,由于tracert通过UDP数据包向不常见端口(30000以上)发送数据包,因此会收到「ICMP portunreachable」消息,故可判断到达目的地。
tracert 有一个固定的时间等待响应(ICMP TTL到期消息)。如果这个时间过了,它将打印出一系列的*号表明:在这个路径上,这个设备不能在给定的时间内发出ICMP TTL到期消息的响应。然后,Tracert给TTL记数器加1,继续进行。
3、pathping (百度)
Pathping是一个基于TCP/IP的路由跟踪工具,该命令结合了 ping 和 tracert 命令的功能, 返回两部分内容,第一部分显示到达目的地经过了哪些路由,第二部分显示了路径中每个路由器上数据包丢失方面的信息。反映出数据包从源主机到目标主机所经过的路径、网络延时以及丢包率,能够有效地帮助我们解决网络问题。
它使用ICMP回应信息来分析网络连通情况。Pathping发送回应信息到源地址与目标地址之间的所有路由器,它会计算出源主机与目标主机之间的每一个路由器的反应时间,通过这些数据,我们能够很方便地测出网络延时,有助于找出带宽瓶颈。
提供有关在源和目标之间的中间跃点处网络滞后和网络丢失的信息。Pathping 在一段时间内将多个回响请求消息发送到源和目标之间的各个路由器,然后根据各个路由器返回的数据包计算结果。因为 pathping 可以表示在任何特定路由器或链接处的数据包的丢失程度,所以用户可据此确定可能存在网络问题的路由器或子网。Pathping 通过识别路径上的路由器来执行与 tracert 命令相同的功能。然后,该命令在一段指定的时间内定期将 ping 命令发送到所有的路由器,并根据每个路由器的返回非数值计算统计结果。
处理问题时必定不能盲狙,将所有解决办法都试上一遍。这生产环境中,解决出现的问题是最优先的事情,当然前提是这问题会影响用户的使用或即将影响到的。
处理每个问题必然可按具体问题进行分类,根据每一类按对应的解决思路来执行。
但像处理一个网络问题的时候,上至系统防火墙的配置、下至硬件故障。如果处理一个问题都按固定流程来进行的话,那必然效率将非常低下。下为处理网络故障的一般流程。
1、网络硬件问题检查。 (机率较低)
2、检查网卡能否正常工作。 (较高、主要表现为人为配置错误)
3、检查局域网之间联机是否正常。(非常高)
4、检查DNS是否设定正确。 (较低)
5、服务是否正常打开。 (低)
6、检查访问权限是否打开。 (较高)
假如从1至6是标准的处理网络问题的流程,这样的处理方式效率低下。处理问题可以有整体的流程,但是实际操作中可先对出现机率更高的步骤进行检查、或采取2分法缩小产生问题的范围,虽然上述较的两个方法不一定对所有问题都试用,但对于大多数的网络问题来说处理效率有者显著的提升。
个人总结的情况如下。
1、lsmod | grep ip 查看相关的网卡模块是否已加载
2、ifconfig -a 能使用该命令查找到对应网卡配置信息,则说明网卡驱动程序正常
3、使用ping命令、依次ping自己、ping局域网主机、ping网关
ping自己异常,问题:服务异常、网卡配置未生效
ping局域网主机异常,问题:配置文件有误、网卡配置未生效、网线损坏
ping网关异常,问题:配置文件有误、网卡配置未生效
4、当前3步还不能正常上外网的话。所有route查看默认路由表。
处理方法:删除不必要的路由信息,并保证默认路由是从对应网关地址出去的。
5、临时停止iptables服务、SELinux服务、NetworkManager服务
6、如能上网但访问域名有异常时,那将需要检查/etc/hosts、/etc/resolv.conf两个配置
7、假如以上6步检查完毕之后,还发现不能上网。有如下可能。
7.1、主机MAC地址被路由器禁止上网
7.2、外网服务异常。如宽带账号欠费、光纤被挖断等物理攻击。
linux 查看当前的网络配置命令格式:ifconfig 【interface】 【options】address。
ifconfig命令用于设置或查看网络配置,包括IP地址、网络掩码、广播地址等。它是linux系统中,使用频率最高的关于网络方面的命令。
主要参数:interface:网络接口名;up:打开网络接口;down:关闭网络接口;broadcast:设置网络接口的广播地址;netmask:设置网络接口的子网掩码;address:设置网络接口的IPv4地址;add:给指定网络接口配置IPv6地址;del:删除指定网络接口的IPv6地址。
1、查看多个网络接口方法:
2、查看本机的路由表, route命令,加上-n参数显示数字地址。
3、查看本机ARP缓存表, arp 命令 参数列表中 -a 列出所有条目, -n显示数字地址:
4、查看网络连接信息 是netstat命令: