转载自: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

使用常见的网络命令查看当前网络状态——Mac OS X篇的更多相关文章

  1. Android ADB命令大全(通过ADB命令查看wifi密码、MAC地址、设备信息、操作文件、查看文件、日志信息、卸载、启动和安装APK等)

    ADB很强大,记住一些ADB命令有助于提高工作效率. 获取序列号: adb get-serialno 查看连接计算机的设备: adb devices 重启机器: adb reboot 重启到bootl ...

  2. 使用nfsstat命令查看NFS服务器状态

    转载于:http://www.cnblogs.com/jankie/archive/2011/09/03/2165851.html nfsstat命令显示关于NFS和到内核的远程过程调用(RPC)接口 ...

  3. Linux网络管理——Linux网络命令

    3. Linux网络命令 .note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB&quo ...

  4. 在Mac OS X系统下 用dd命令将iso镜像写入u盘

    一. Mac下将ISO写入U盘可使用命令行工具dd,操作如下: 1.找出U盘挂载的路径,使用如下命令:diskutil list2.将U盘unmount(将N替换为挂载路径):diskutil unm ...

  5. 常见网络命令之Ping命令

    前言:计算机网络老师要求我们自己总结一下常见的网络命,然后上课可以上去讲一下这些命令使用,像我这么听话的好学生,肯定是照老师要求,认真的总结了一下,总结的过程中,我发现网上已经有的资源讲的都不是很详细 ...

  6. Linux网络管理2---(网络环境查看命令、网络测试命令)

    1.网络环境查看命令 ifconfig命令 查看或临时修改网络状态的命令 可以看到IP.子网掩码……信息 关闭和启动网卡 ifdown 网卡设备名(比如: ifdown eth0):禁用该网卡设备 i ...

  7. iostat iotop 查看硬盘的读写、 free 查看内存的命令 、netstat 命令查看网络、tcpdump 命令

    iostat 命令 查看硬盘的使用情况: iostat iostat -x iotop 命令: 若没安装先安装: yum install iotop -y free 命令,用于查看内存的使用量: fr ...

  8. 常见的网络命令--ping.hostname

    hostname命令 作用:显示以及设置主机名 一.  显示系统主机名 第一种方式:hostname 第二种方式:cat /etc/sysconfig/ntework 使用举例: 从上面可以看到我的系 ...

  9. day11 ss命令 查看网络端口使用情况及对应pid centos7

    [root@oldboyedu ~]# ss -lntup Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port udp UNC ...

随机推荐

  1. 深入理解JVM一内存模型、可见性、指令重排序

    一.内存模型 首先我们思考一下一个java线程要向另外一个线程进行通信,应该怎么做,我们再把需求明确一点,一个java线程对一个变量的更新怎么通知到另外一个线程呢?我们知道java当中的实例对象.数组 ...

  2. 使用expect实现自动登录的脚本

    使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: ######## ...

  3. Spring MVC @ModelAttribute详解

    被@ModelAttribute注释的方法会在此controller每个方法执行前被执行,因此对于一个controller映射多个URL的用法来说,要谨慎使用. 我们编写控制器代码时,会将保存方法独立 ...

  4. 学习 opencv---(12)OpenCV 图像金字塔:高斯金字塔,拉普拉斯金字塔与图片尺寸缩放

    在这篇文章里,我们一起学习下 图像金字塔 的一些基本概念,如何使用OpenCV函数pyrUp和pyrDown 对图像进行向上和向下采样,以及了解专门用于缩放图像尺寸的resize函数的用法.此博文一共 ...

  5. NYOJ--69

    数的长度 原题链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=69 分析:先看看求n!的朴素算法,用大整数乘法来实现. #include< ...

  6. 洛谷P1948 [USACO08JAN]电话线Telephone Lines

    题目描述 Farmer John wants to set up a telephone line at his farm. Unfortunately, the phone company is u ...

  7. Java常量池详解之Integer缓存

    一个Java question,求输出结果   public class IntegerTest { public static void main(String[] args) { objPoolT ...

  8. java-压缩文件成zip文件(多文件/单文件/多目录/单目录/无目录),用于下载

    本博客是自己在学习和工作途中的积累与总结,仅供自己参考,也欢迎大家转载,转载时请注明出处. http://www.cnblogs.com/king-xg/p/6424788.html 上代码: pac ...

  9. POJ 1113 Wall 凸包 裸

    LINK 题意:给出一个简单几何,问与其边距离长为L的几何图形的周长. 思路:求一个几何图形的最小外接几何,就是求凸包,距离为L相当于再多增加上一个圆的周长(因为只有四个角).看了黑书使用graham ...

  10. Qt undefined reference to ***

    错因:某个类声明了一个函数但是没有定义就直接使用.