使用常见的网络命令查看当前网络状态——macosx篇

天际凯迪 天际凯迪     2022-10-03     211

关键词:

转载自:http://blog.csdn.net/zkh90644/article/details/50539948

 

 

操作系统拥有一套通用的实用程序来查明本地主机的有线或者无线链路状态和IP的连接情况。如果本机有IP连接,那么就意味着有线或者无线是正常工作的。在Mac OS X系统中,有以下几个实用的程序来确认连接状态: 
ifconfig: 查找本机IP地址和网络接口。 
netstat: 使用-r来找到特定网络接口的默认网关。 
ping: 用来测试本机之间的端对端的IP连接。 
arp: 管理本地的ARP缓存。

以下是连接状态和IP连接的例子:

  1. 打开Terminal(译者附:可以通过Spotlight或者实用工具->终端“)

  2. 输入ifconfig命令,来查找特定网络接口的IP地址。在这个例子中这个无线网络接口(en1)的地址是:192.168.128.253。

    myhost:/usr/bin someuser$ ifconfig 
    en1: flags=8863(UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST) 
    inet 192.168.128.253 netmask 0xffffff00 broadcast 192.168.128.255 
    ether 00:17:f2:e8:ac:0a  
    media: autoselect status: active 
    supported media: autoselect

  3. 输入netstat -r 来寻找实用网络接口en1 的默认网关。在本例子中en1 的默认网关地址是:192.168.128.1。

    myhost:/usr/bin someone$ netstat -r 
    Routing tables 
    Internet: 
    Destination Gateway > Flags Refs Use Netif Expire 
    default 192.168.128.1 > UGSc 90 2 en1

  4. 局域网的数据交互在OSI模型的第2层(即数据链路层)。主机在同一个局域网中发送数据给局域网中的用户使用的第二层的地址(即MAC地址),每一个主机都有一个动态的MAC地址转化为IP地址的列表映射到ARP表中,该表是通过ARP协议 来找到哪个MAC地址对应的是局域网中的哪个IP地址(IP地址在OSI的第三层网络层中)。ARP是十分详细的,同时为了更好的表达ARP,其中的许多内容被删除。以下是ARP的简要介绍:

    每次一个主机需要发送数据到另一台主机中的时候,他都会检查本机的ARP表,如果在ARP表中存在相关的映射,那么数据就会直接发送到该IP地址的MAC地址中。如果不存在映射,为了获得接收数据的IP地址对应的MAC地址,本机的将会发送一个ARP请求广播到局域网,查看已知局域网中的所有IP地址。当对应IP地址的主机收到这个ARP请求后,将会以单播的方式发送ARP响应报文给请求方,告诉请求方自己的IP地址和自己相关联的MAC地址。当请求方收到这个ARP响应报文后,它将更新自己的ARP表同时使用它自己的MAC地址直接发送帧到目的主机上。为了防止ARP缓存的老化,主机将会频繁的发送ARP请求来更新自己的ARP缓存。

  5. 为了使用Terminal(终端) 手动的重新刷新你的ARP表,我们使用以下命令:

    mycomputer:/usr/bin someuser$ arp -d -a

  6. ping默认网关或局域网上另一台主机的IP地址来测试IP的连通性。在Mac OS X上,ping命令是连续的(译者附:不使用终端命令,ping程序在默认参数下是不会停止的)。

    mycomputer:/usr/bin someuser$ ping 192.168.128.1

如果本地连接是同的并且目的主机也是在线上并且是可以达到的,你将会输出每个ICMP(Internet Control Message Protocol)回显请求来显示每个ICMP回显应答

格式如下:

PING 192.168.128.1 (192.168.128.1): 56 data bytes

64 bytes from 192.168.128.1: icmp_seq=0 ttl=64 time=3.255 ms 
64 bytes from 192.168.128.1: icmp_seq=1 ttl=64 time=0.897 ms 
64 bytes from 192.168.128.1: icmp_seq=2 ttl=64 time=0.897 ms 
64 bytes from 192.168.128.1: icmp_seq=3 ttl=64 time=0.905 ms

7 . 如果ICMP请求超时并被ICMP回显应答,那么最有可能的是本地主机与目标主机中间的电缆存在问题,或者目的主机太过繁忙而无法回应。在这种情况下,你可以尝试ping其他局域网中的主机。如果ping的过程中超时不存在,那么就说明本地连接是好的,同时你需要检修问题主机的故障。 
情况如下

PING 192.168.128.1 (192.168.128.1): 56 data bytes

64 bytes from 192.168.128.1: icmp_seq=0 ttl=64 time=3.255 ms 
64 bytes from 192.168.128.1: icmp_seq=1 ttl=64 time=0.897 ms 
Request timeout for icmp_seq 2 
Request timeout for icmp_seq 3 
64 bytes from 192.168.128.1: icmp_seq=4 ttl=64 time=0.897 ms 
64 bytes from 192.168.128.1: icmp_seq=5 ttl=64 time=0.905 ms 
Request timeout for icmp_seq 6

 

 

  1. 如果你的连接是好的但是对方的防火墙拒绝了你的ICMP回显请求,那么你讲收到ICMP请求超时的消息。如果目的主机确实响应你的ARP请求,那就意味着你的本地连接是好的同时网络状态是好的。那么就应该尝试关闭目的主机的防火墙,并再次发送PING请求,或者尝试PING一个其他的主机。

 

PING 192.168.128.1 (192.168.128.1): 56 data bytes 
Request timeout for icmp_seq 0 
Request timeout for icmp_seq 1 
Request timeout for icmp_seq 2 
Request timeout for icmp_seq 3 
Request timeout for icmp_seq 5

    • 如果目的主机没有响应ARP请求,或者目的主机不在线,你将会接收到“Host is down”这样的消息。这样你就需要尝试ping其他主机,如果还是收到Host is down”这样的消息,那么就说明你的IP地址是配置错误的或者你的上行链路是好的,但是局域网中的其他部分是有问题的。造成这个问题的可能的原因是 上行链路的管理不当,VLAN不匹配,电缆上游存在损坏。

      PING 192.168.128.1 (192.168.128.1): 56 data bytes 
      ping: sendto: No route to host 
      ping: sendto: Host is down 
      ping: sendto: Host is down 
      ping: sendto: Host is down 
      ping: sendto: Host is down

    • 如果你的本地连接是有问题的,那么你将会收到”No route to host“这样的消息,这种状态下你就需要确认你的适配器已启用,或者重新把茶以太电缆(网线),或者重启你的无线连接。 

      PING 192.168.128.1 (192.168.128.1): 56 data bytes 
      ping: sendto: No route to host 
      ping: sendto: No route to host 
      ping: sendto: No route to host 
      ping: sendto: No route to host 
      ping: sendto: No route to host

linux查看当前的网络配置

...包括IP地址、网络掩码、广播地址等。它是linux系统中,使用频率最高的关于网络方面的命令。主要参数:interface:网络接口名;up:打开网络接口;down:关闭网络接口;broadcast:设置网络接口的广播地址;netmask:设置网络接口... 查看详情

redhat重启网络命令不能用systemctl

您好,Redhat系统重启网络的命令不能使用systemctl,而是使用ifconfig命令。ifconfig命令可以用来查看网络接口的状态,也可以用来设置网络接口的状态。需要注意的是,ifconfig命令只能在本机上运行,无法远程操作。要重启网络,可... 查看详情

如何使用netstat命令查看网络状态

...议的连接情况。-v显示正在进行的工作。[例]在本地机上使用netstat命令。$netstatActiveInternetconnections(w/oservers)ProtoRecv-QSend-QLocalAddressForeignAddressStateActiveUNIXdomainsockets(w/oservers)ProtoRefCntFlagsTypeStateI-NodePathunix1[]STREAMCONNECTED270@00000008... 查看详情

如何使用netstat命令查看网络状态

netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息,在计算机上执行netstat后,其输出结果为:ActiveInternetconnections(w/oservers)ProtoRecv-QSend-QLocalAddressForeignAddres... 查看详情

adb网络调试和常见命令

参考技术A安卓的adb调试模式有两种:1、使用usb线;2、使用网络。使用网络首先得在Android设备设置网络adb监听的端口,再通过adb连接到设备进行控制;先是使用usb线连接电脑跟安卓设备,执行adb命令,该条命令是设置网络adb监... 查看详情

linux使用netstat查看网络状态(代码片段)

查看本机的网络状态。使用netstat查看网络状态。显示系统端口使用情况。UDP类型的端口。TCP类型的端口。只显示所有监听端口。只显示所有监听tcp端口。命令使用举例命令说明netstat-anp显示系统端口使用情况netstat-nuplUDP类型的端... 查看详情

linux操作命令常见问题(n+)

...由度高等。2.如何在Linux系统上安装软件?答:通常可以使用包管理器,例如yum、apt-get等,在命令行下执行相应的安装命令。也可以手动下载软件包,解压缩后进行编译和安装。3.如何查看Linux系统的CPU和内存使用情况?答:可以... 查看详情

iproute家族命令

...备添加一个IP地址删除网络设备的IP添加一个别名IP如果不使用添加别名IP的话,使用ifconfig是不能查看添加后的IP的,默认只会显示第一个。常用例子:实例:ss命令是类似netstat并取代netstat的工具,它能用来查看网络状态的信息... 查看详情

查看网络设备运行状态

查看Cisco内存CPU使用状态命令showprocesscpuhis 历史cpu使用情况查询用于定位情况某个时间段cpu占用率的showprocesscpu查看设备占用cpu的情况,查看有哪些异常的cpu占用率showversion查看交换机的版本信息showmemorydetailed查看交换机内存... 查看详情

centos怎样查看系统信息

...系统负载情况。free 命令用于显示当前系统中内存的使用量信息,格式为:“free[-h]”。为了保证Linux系统不会突然卡住宕机,因此内存使用量应该是运 查看详情

「macos」网络连接状态查看工具internetstatus

...i。准备好新的MacOSSierra。显示当前会话的网络速度和数据使用情况使用颜色标志或查看连接状态。显示当前数据传输(上传/下载)速度。显示系统启动时的总数据使用情况。获取计算机的公共IP地址,然后单击以复制。RetinaDispla... 查看详情

常见网络错误

1. 3xx重定向  这类状态码代表需要客户端采取进一步的操作才能完成请求。2. 4xx客户端错误  这类状态码表示客户端看起来可能发生了错误,妨碍了服务器的处理。    400:由于包含语法错误,当前请求无法被... 查看详情

linux常用网络配置命令

...配置不当,可能会导致程序功能出现故障。1)查看主机名使用hostname命令就可以查看当前主机的主机名,不添加任何选项参数。2)临时更改主机名hostnameNewName注:这种方法只是临时的更改主机名,重启后将失效。3)永久更改主机名a... 查看详情

liunx

接下来逐个讲解与网卡网络、系统内核、系统负载、内存使用情况、当前启用终端数量、历史登录记录、命令执行记录以及救援诊断等相关命令的使用方法,这些命令都超级实用。1、ifconfig命令ifconfig命令用于获取网卡配置与网... 查看详情

10.8ss:查看网络状态(代码片段)

ss命令  是类似并将取代netstat的工具,它能用来查看网络状态信息,包括TCP、UDP连接、端口等。它的优点是能够显示更多更详细的有关网络连接状态的信息,而且比netstat更快速更高效。   如果系统没有ss命令,那就... 查看详情

开发者友好的linux常见命令整理

系统本身uname-a#查看内核/操作系统/CPU信息cat/etc/redhat-release查看服务器版本cat/proc/cpuinfo#查看CPU信息hostname#查看计算机名lspci-tv#列出所有PCI设备lsusb-tv#列出所有USB设备lsmod#列出加载的内核模块env#查看环境变量查看ip信息:ifconf... 查看详情

linux查看端口是不是被占用的命令是啥?

...进行查询,比如:lsof、netstat命令。其中netstat命令是最为常见的,本文将为大家重点介绍一下,不了解的小伙伴一定要认真看完!  输入命令:netstat-tln|grep8080,来查看8080端口情况,按回车执行。  Linuxnetstat命令用于显示网... 查看详情

10.6-10.10监控iofree命令ps命令查看网络状态和抓包

...能iostat命令iostat命令被用于监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况... 查看详情