如果精确判断一个IP是否被占用

article/2025/11/11 7:12:03

如果精确判断一个IP是否被占用

我们在局域网经常需要去测试一个IP是否在用,通过使用ping命令去测试网络通还是不通,但这种方法不是很精确。

我在cnaaa.com上购买了云服务器。

原因是 ping 命令使用的是 ICMP 协议(Internet Control Message Protocol),ICMP协议是 TCP/IP 协议族中的一员,它也含IP头,所以我们可以使用 IP 去 ping。ICMP协议是用来侦测网络错误的,ping 命令用到了 ICMP 中的 ICMP ECHO REQUEST 和 ICMP ECHO REPLY,用来判断 IP 地址是否通。之所以说这种方法判断 IP 是否被占用不太可靠,是因为与TCP和UDP协议一样,在防火墙上是可以禁用此类网络包的。也就是对方可以禁ping,让你无法 ping 通对方。

之所以会出现禁ping策略,是因为很多网络攻击是先通过ICMP协议判断主机是否存活,如果 ping 不通有可能会躲避一部分网络攻击。但 ping 不通只说明 ICMP 协议被禁,TCP 或 UDP 协议也可以用来判断主机是否存活,所以禁 ping 只能躲避一些简单攻击,如果对方对端口进行扫描,服务器如果存在开放的端口的话,还是会被对方发现。

我们假定主机就是一台普通PC,没有对外开放服务端口,并且在防火墙上禁了ICMP协议,此时还有没有办法判断此PC的IP是否处于活跃状态?

ping 命令可以跨网段,此时使用的是三层网络,中间会用到IP和路由。如果在二层网络下,设备间是通过 MAC 地址而非IP来进行通讯的。二层网络会被局限在一个VLAN或网段里,也就是说跨网段通信需要三层路由,但在同网段内,设备彼此是可以通过ARP广播来判断 MAC 地址是否存在,如果存在即可存在交换机或终端的ARP表中方便直接进行通讯。

我们看一下 Windows 下PC的ARP表

arp -a

图片

Linux 下命令类似

图片

在 PC 或服务器的 ARP 列表中,只会存与网卡相连的同网段网络 MAC,而不会存跨网络网络的MAC。因为ARP是“Address Resolution Protocol”(地址解析协议)的缩写。在同网段中,通过地址解析协议,源主机可以通过目的主机的IP地址获得目的主机的MAC地址。也就是说,IP是三层网络的地址,MAC是二层网络的地址。防火墙工作在三层网络,所以在二层网络,MAC 和 IP 是可以直接被定位到的。

PC 只存同网络的 MAC 地址,跨网络如何查。跨网络的MAC可以在交换机的ARP地址表中查,如果网关在核心交换机上,那么所有需要通信的主机的IP和MAC的相对应的关系都在交换机上可以找到。所以说一个IP有没有占用,交换机肯定是知道的。

我们在交换机ruijie-8610设备上查看VLAN 25的MAC与IP的映射关系

root@ns-xxzx-svr:~# telnet 192.168.25.254Trying 192.168.25.254...Connected to 192.168.25.254.Escape character is '^]'.
User Access Verification
Password:
ZXYYNQ-CORE-RG8610>enable
Password:ZXYYNQ-CORE-RG8610# show arp VLAN 25

图片

交换机的 arp 列表存在缓存,当设备上线或离线时,无法找到设备时会触发ARP广播,从而刷新ARP缓存。在Windows或Linux下可以使用arp -d命令清空arp表,重新通过arpi学习更新arp表。在ping一个地址时,如果arp表为空,此时就会触发一个arp请求。有没有手动进行arp请求的方法?有,这个命令叫 arping ,与 ping 不同,ping 使用的是 ICMP 协议,而 arping 使用 arp 请求来代替 ICMP。

图片

arping 只能 ping 同网段的IP,不能跨网络发起 arp 请求,这是二层网络通信决定的。如果存在多个网卡,此时需要指定网卡接口,不然 arping 不知道从哪个网卡接口出去。

arping -I eth0 192.168.10.1

Windows 下有没有类似的工具?有,但是第三方的,下载地址:

  • https://elifulkerson.com/projects/arp-ping.php

使用方法与 Linux 下一致

图片

总结,通过 arping 可以精确判断一个设备的IP是否是在线状态,此时防火墙是无法阻止对方通过 arping 来 ping 你,如果在 MAC 地址层面不通,说明此网络接口网络不通。


http://chatgpt.dhexx.cn/article/KVchAOZR.shtml

相关文章

如何解决Ganache界面一直转圈的问题

Ganache打不开的解决办法,针对Windows用户 Tip1Tip2 Tip1 不要直接从官网上下载,因为默认下载的是.appx文件,这样即使解压了也没有安装选项,打开ganache.exe后点击quickstart,会一直转圈进不去。(我的就是…

类似鹅厂的H5农场游戏,牧场游戏 博主亲自搭建

1.支持 三种动物的饲养 2.支持多种植物的种植 3.用农贸市场 4.有分享推广奖励 下载地址:原价6800的H5农场牧场游戏源码数据库文档亲自搭建-HTML5文档类资源-CSDN下载

华为OD机试用Python实现 -【农场施肥】(2023-Q1 新题)

华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:blog.csdn.net/hihell/category_12199275.html 华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730 华为OD机试真题:…

SDL农场游戏开发 1.环境搭建

由于我个人受到传统农场类游戏的熏陶,因此萌生出了开发一个类似于QQ农场的游戏。 本次游戏打着SDL的幌子(这么说自己真的好么),其实使用的是SDL_Engine,它是我闲暇时模仿cocos2dx而写的一个游戏框架。个人认为了解下S…

神秘农场新背包java_Mystery Ranch神秘农场2018年户外背包系列产品一览

对于初接独 和品牌设计师Dana 3 Gleason沟通时亦提及到,来年产品将集中于 Everyday, Mountain和旅行用三大趋势发展,迎合市场上大容量和短途trip的一众玩家。以话不假,从最新的日用背包就见到他们对日常背包的心思。 说实话,下半年…

qq农场私服php源代码,仿QQ农场源码、QQ牧场源代码(整合UCHOME)

安装步骤: 1.将压缩包内文件解压,上传upload里的所有文件到相应文件夹(你的uchome根目录下) 2.到phpmyadmin导入 uchome_happyfarm_config.sql uchome_happyfarm_mc.sql uchome_happyfarm_nc.sql数据库文件(如果前缀不是默认的uchome_替换成你的前缀否则农场无法连接调用mysql…

php开心农场 源码,开心农场源码(UCHome)PHP版下载

关键字:php discuz ucenter home� uhome manyou 开心农场 牧场 QQ 源码 下载 源码适用于已安装了UCenterHome的SNS网站,与QQ农场功能基本类似。可以自己调经验,原作者好像把后台给删掉了,只能从数据库调整了。 安装说明…

全民农场服务器维护上不去,全民农场微信授权失败登录不上解决方法

全民农场中秋节新版本上线,发布了许多好玩的活动,部分玩家朋友反映全民农场微信授权失败登录不上,这到底是怎么回事呢,下面小编来给玩家朋友分享下全民农场微信授权失败登录不上解决方法,希望玩家朋友喜欢。 全民农场从…

Java游戏开发——开心农场

游戏介绍: “开心农场”是一款以种植为主的社交游戏。用户可以扮演一个农场的农场主,在自己的农场里开垦土地,种植各种水果蔬菜。本次开发了一个“开心农场”游戏,运行程序,效果如下图所示。鼠标先选定指定土地&#…

qq农场 html5,登陆qq农场 QQ浏览器怎么登陆QQ农场

首先打开手机QQ程序,在QQ主页面中点击右下角的“动态”选项。 进入“动态”页面后点击其中的“好友动态”选项。 然后在打开的“好友动态”页面中点击页面上方的“小游戏”选项。 打开“小游戏”界面后即可在页面中看到“QQ农潮。 qq农场进不去的处理方法一&#xf…

基于java-swing的开心农场游戏

目的 本方案为java面向对象部分的综合评测,本项目是对JAVA GUI API的综合实训。 项目描述 该项目是对qq农场做出的简单的小案例。 1、播种种子 2、种子生长 3、种子开花 4、种子结果 5、收获种子 项目要求 使用JAVA SWING 或者 AWT 包下的API类实现该项目&am…

linux渲染农场大连教程,Deadline 渲染农场搭建记录

渲染农场的工作模式:多台机器组建集群进行渲染,比如:集群中有2台渲染机器A和B,服务器会同时分配给A和B任务,A渲染第一帧,B渲染第二帧,当A完成那么服务器会继续分配第三帧,同样B服务器完成以后服务器分配第四帧,以此类推。 渲染农场分服务端和节点,服务器端也可以加入集…

c++农场主均分土地为方块

题目背景:假设你是一个农场主,有一块小土地,1680*640那么大,你要将这块土地均匀的分成方块,要使分出的方块足够大,应该怎么分? 样例输入: 1680 640 样例输出: 80 一个…

爆肝一周,用Python在物联网设备上写了个智能语音助手-阿里云智能对话机器人

基于HaaS云端一体框架,用Python打造HaaS EDU K1智能语音助手的过程中需要用到云端能力。本篇文章介绍如何开通智能对话机器人,并通过实际案例演示如何为机器人配置知识库并进行发布。请参考《爆肝一周,用Python在物联网设备上写了个智能语音助…

智能客服机器人:基于知识图谱的多轮对话系统

━━━━ 近年来,随着人工智能的快速发展,人机交互能力不断增强,其中问答技术能够在保证一定准确度的情况下极大地简化用户的搜索操作,在节约时间的同时,还能够加深用户对搜索事物的了解程度,百度公司的小…

【人机对话】对话机器人技术简介:问答系统、对话系统与聊天机器人

点击上方,选择星标或置顶,每天给你送干货! 阅读大概需要16分钟 跟随小博主,每天进步一丢丢 来自:AI算法之心 作者:段清华个人主页:http://qhduan.comGithub链接: https://github.com/qhduan/ 原…

数据可视化工具是什么

智能手机的普及,互联网使用的增长,机器学习的快速发展,以及云计算技术和物联网的不断采用,都在推动全球数据可视化市场。此外,对智能工厂的日益倾向,以及视觉分析、信息可视化和科学可视化在小型和大型组织…

如何进行数据可视化图表设计?

如何进行数据可视化图表设计? 对数据人来说,数据可视化是分析理解数据,并最终呈现数据的必修课。本文从以下几个点来说明,如何进行数据可视化图表设计。1、数据背后的故事2、充分理解数据3、多种图表类型设计指南 1数据背后的故…

优秀的数据可视化,原来是这样做的!

大数据时代,数据驱动决策。处理不好庞大、复杂的数据,其价值将大打折扣。 可以想象一本没有图片的教科书。没有图表、图形或是带有箭头和标签的插图或流程图,那么这门学科将变得更加难以理解。人类天生就是视觉动物,而视觉效果对于…

数据可视化是什么,数据可视化怎么做最好?

数据可视化都有一个共同的目的,那就是准确而高效、精简而全面地传递信息和知识。可视化能将不可见的数据现象转化为可见的图形符号,能将错综复杂、看起来没法解释和关联的数据,建立起联系和关联,发现规律和特征,获得更…