来源:http://kb.cnblogs.com/a/1560881/

首先,了解通常有4种广播地址:受限制的广播,网段的广播,子网的广播,所有子网的广播 
其次,假如我的地址10.26.20.1/16,我ping 10.26.255.255,会发生什么? 
看一下ping的输出:

 
C:/Documents and Settings/Administrator>ping 10.26.255.255 -t 
Pinging 10.26.255.255 with 32 bytes of data: 
Reply from 10.26.255.254: bytes=32 time<1ms TTL=255 
Reply from 10.26.20.90: bytes=32 time<1ms TTL=64

说明了几点: 
1.ping这个广播地址通了,但从回应看,是同网段的地址回的 
2.同网段的很多机器,为什么只有这两台回应我了? 
下面,全面的解释一遍: 
1.我发出ping 10.26.255.255这个请求,在这个icmp包出去之前,发出去一个多播的帧,目的mac是多播mac; 
2.好,所有能收到这个多播包的主机,看到这个包,知道我要做什么(icmp reauest),如果它的系统支持(linux支持,windows不支持),就会对其响应(icmp response),于是发给我一个arp查询,查询我的arp是什么,于是我响应这个查询,这样我也学到了它的arp; 
3.以后,我每一个ping广播的icmp,都由组内可以响应的主机来回应我,这是ping的结果了(分别是255.254和20.90回应我) 
这个过程不复杂,重点是理清流程,到底是怎么一个顺序

通过这个特性,我们可以通过此方法来查询某些设备的IP地址!

例如:在一个有限网络中接入的无线AP的IP,或者某些网络打印机。

ping广播地址会如何(转)的更多相关文章

  1. Linux基础命令---ping

    ping ping指令可以发送ICMP请求到目标地址,如果网络功能正常,目标主机会给出回应信息.ping使用ICMP协议强制发送ECHO_REQUEST报文到目标主机,从主机或网关获取ICMP ECH ...

  2. 【TCP/IP详解 卷一:协议】第十二章 广播与多播 ping实验

    我手机连接到wifi上所分配到的IP地址:192.168.1.116 子网掩码:255.255.255.0 路由器:192.168.1.1 ping 192.168.1.116 (ping 一台主机的 ...

  3. N天学习一个linux命令之ping

    用途 检测主机是否可到达,也就是说,目标主机是否可以联网,还可以用于检测网速.通过发送ICMP ECHO_REQUEST数据包检测. 用法 ping [options] destination 常用选 ...

  4. Nmap参考指南(Man Page)

    Table of Contents 描述 译注 选项概要 目标说明 主机发现 端口扫描基础 端口扫描技术 端口说明和扫描顺序 服务和版本探测 操作系统探测 时间和性能 防火墙/IDS躲避和哄骗 输出 ...

  5. unp学习笔记——Chapter1

    1.发现网络拓扑的几个重要的命令 (1).netstat -i 提供网络接口的信息.我们还指定-n 标志以输出数值地址,而不是试图把它们反向解析成名字.netstat -r 展示路由表. dzhwen ...

  6. linux主机状态检测方式

    之前写过一个简单的脚本检测当前网段中主机状态的脚本,内容如下: #! /bin/bash #ping check host status trap "exit" 2 sping() ...

  7. Nmap渗透测试使用方法

    Nmap渗透测试使用方法 目标选择2 端口选择2 操作系统和服务检测2 Nmap输出格式2 用NSE脚本深入挖掘2 HTTP服务信息3 检测SSL漏洞问题的主机3 设备扫描3 按VNC扫描5 按SMB ...

  8. nmap中文手册

    译注该Nmap参考指南中文版由Fei Yang <fyang1024@gmail.com>和Lei Li<lilei_721@6611.org> 从英文版本翻译而来. 我们希望 ...

  9. Nmap参考指南中文版

    Nmap参考指南中文版 来源: http://www.nmap.com.cn/doc/manual.shtm 译注 该Nmap参考指南中文版由Fei Yang <fyang1024@gmail. ...

随机推荐

  1. Enum

    1.定义时使用enum关键字定义. 2.隐式继承了java.lang.Enum类,所以不能再继承其他类了. 3.隐式的final修饰符,所以不能被其他类继承. package enumTest; pu ...

  2. FMDB简单封装和使用

    工具:火狐浏览器+SQLite Manager插件 ; Xcode; FMDB库; 效果: 项目地址: https://github.com/sven713/PackFMDB 主要参考这两篇博客: 1 ...

  3. eclipse SE增加Web开发插件;安装配置Apache

    在eclipse SE版本点击"Help"--"Install New Software..."--"Work with"中输入" ...

  4. angularjs中ng-controller中绑定对象

    <!DOCTYPE HTML><html ng-app="myApp"><head><meta http-equiv="Cont ...

  5. typealias和泛型接口

    typealias 是用来为已经存在的类型重新定义名字的,通过命名,可以使代码变得更加清晰.使用的语法也很简单,使用 typealias 关键字像使用普通的赋值语句一样,可以将某个已经存在的类型赋值为 ...

  6. Android Scroller简单用法

    Android里Scroller类是为了实现View平滑滚动的一个Helper类.通常在自定义的View时使用,在View中定义一个私有成员mScroller = new Scroller(conte ...

  7. 解决UIScrollView把uitableviewcell的点击事件屏蔽

    cell中 [self.contentView addSubview:self.scrollView]; self.scrollView.userInteractionEnabled = NO; [s ...

  8. Jquery 定时器 倒计时

    <!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8&qu ...

  9. Mac终端用Sublime打开指定文件或文件夹

    首先你先把的sublime放到Application中,再确认您的Sublime的路径是否正确 1 创建别名: sudo ln -s "/Applications/Sublime\ Text ...

  10. let和const命令//////////////////////z

    let和const命令 let命令 块级作用域 const命令 全局对象的属性 let命令 基本用法 ES6新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的 ...