ping是操作系统自带的命令,经常用来刺探对端主机是否在线,通信能否畅通。它的原理是在调用ping命令时驱动TCP/IP协议栈的ICMP模块发送icmp echo request消息,待对方主机的ICMP模块收到后,会自动回复icmp echo response消息。本方收到icmp echo response即可确认对方主机在线,通信正常

那既然ping命令的本质是发送icmp echo request,然后等待对方回复icmp echo response,那我是否可以通过开源工具(比如xcp)直接发送icmp消息呢?

答案是可以的!!!

但是为什么有人用工具发送icmp消息时没响应,而用ping命令却有反馈呢?出现这种情况,往往是使用者网络通信基础知识不牢,外加不会分析导致

我们现在就来分析这两种方式是如何工作的

ping通信

我把ping通信的整个过程用下图所示:

首先,主机A在电脑cmd命令窗口调用ping命令,尝试ping主机B的ip地址:ping 192.168.1.200

系统驱动tcp/ip协议栈的icmp模块发送icmp echo reqeust消息

但是通过网卡发送的消息需要在数据链路层组装成一条完整的报文,那么就不能缺少任何一个字段

绝大部分字段都可以自动填充为默认值,只有目标主机的ip和mac是需要知道正确值的

主机B的i

用工具刺探主机通信和用系统ping命令有何区别相关推荐

  1. linux桌面系统ping在哪,Linux系统ping命令那些不为人知的选项

    概述 无意中发觉linux下的ping命令花样还挺多的,所以整理了下这一块内容,下面用实例演示说明下 1.ping www.baidu.com 此时主机将不停地向目的地址发送ICMP echo req ...

  2. ping -a 获取不到主机名_网络测试命令——PING

    命令功能: Linux系统和windows系统的ping命令是常用的网络命令,它通常用来测试与目标主机的连通性,这样我们就可以根据它ping输出的信息来确定目标主机是否可访问(但这不是绝对的).有些服 ...

  3. Linux ping命令:向网络主机发送ICMP请求

    ping 是常用的网络命令,主要通过 ICMP 协议进行网络探测,测试网络中主机的通信情况. ping 命令的基本信息如下. 命令名称:ping. 英文原意:send ICMP ECHO_REQUES ...

  4. 华为服务器装系统ubuntu,主机上安装ubuntu系统服务器

    主机上安装ubuntu系统服务器 内容精选 换一换 准备英方软件的安装包请自行准备.请自行准备.准备SSH协议的登录软件请自行准备.请自行准备.获取英方的<i2灾备软件用户使用手册>.请自 ...

  5. Docker的网络模式和跨主机通信

    文章转载自:http://www.a-site.cn/article/169899.html Docker的四种网络模式Bridge模式 当Docker进程启动时,会在主机上创建一个名为docker0 ...

  6. 数据通信原理_同网段主机通信原理

    本篇文章介绍数据通信中最基础,最关键的原理之一,两台通网段的主机如何通信. 获得更多技术资料和免费学习视频,加入讨论群:752160765 适合两台普通电脑之间,两台服务器之间,两台手机之间,电脑和打 ...

  7. matlab语音信号处理实验_现代通信综合实验系统平台

    现代通信综合实验系统平台 近30年来,随着我国电信行业的迅猛发展,该行业的发展水平已成为衡量一个国家实力的一大关键因子.行业的发展同时,为当代相关专业大学生创造了极大的就业市场,市场对通信类人才有着极 ...

  8. 数据通信原理_跟百哥学网络05同网段主机通信原理

    百哥的第5篇原创 本篇文章介绍数据通信中最基础,最关键的原理之一,两台通网段的主机如何通信. 适合两台普通电脑之间,两台服务器之间,两台手机之间,电脑和打印机之间,手机和小爱同学之间,等等,只要两个同 ...

  9. cmd调取windows组件的dos命令大全和常用网络工具,及Linux系统下命令大全

    前言 windows与liunx系统,有许多相同,但有些不通的地方,通过一下的比较,可以加深记忆.若在windows下,某个组件不工作,或者网络不通,或许cmd调取windows组件的dos命令大全: ...

最新文章

  1. 笔记-高项案例题-2015年下-计算题
  2. 2014编程之美热身赛 - 传话游戏
  3. 《ASP.NET Core 3 框架揭秘(上下册)》送书结果公告
  4. hadoop学习日志
  5. 懵了,Java枚举单例模式比DCL和静态单例要好???
  6. 周年纪念闪金海报设计,这个日子不简单!
  7. _RecordsetPtr
  8. 解读《输赢》:输赢在哪里?
  9. Unity3D 字体设置
  10. JAVA制作简单的查询身份证号信息小程序
  11. 电路课设-音响分频器电路设计
  12. Kali Linux学习入门
  13. R语言使用median函数计算向量数据的中位数
  14. win10电脑任务栏右侧小图标消失解决方法
  15. 中位数--《算法竞赛进阶指南》(货仓选址和七夕祭问题详解)
  16. H5获取用户所在城市 网页获取用户城市名称
  17. html百度地图获取城镇街道,集成百度地图根据地址获取经纬度,定位地址到街道...
  18. 《傲慢与偏见》读后感
  19. Ubuntu18.04下成功实现ORB_SLAM2 奥比中光astra深度相机
  20. VScode如何配置C语言编译环境

热门文章

  1. Flowing Paint ——感受抽象
  2. 最简便的lightGBM GPU支持的安装、验证方法
  3. Android热修复之AndFix
  4. java生日贺卡,简单生日贺卡制作,涨知识了
  5. 机器学习基础__02__L1L2范数在机器学习中应用
  6. Java导出PDF样式详细解析(步骤+代码)
  7. nrf52832 sdk15.2.0 dfu升级攻略
  8. java abstract的用法
  9. jQuery学习笔记--JqGrid相关操作 方法列表 备忘 重点讲解(超重要) from:jpr1990
  10. 看英文数据手册必备之——Copy Translator