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

如果精确判断一个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://www.rhkb.cn/news/72643.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

win10设置pin一直转圈_win10系统pin码无法使用的解决方案

win10系统pin码无法使用的解决方案,win10系统想要使用windows hello功能,就要先设置pin码,当你遇到pin码无法使用的问题时,可参照以下的方法进行解决。 有很多用户在使用win10系统的时候,想要使用windows hello功能&am…

OFFICE登录不上,一直转圈

首先打开控制面板,左上角查看方式选择小图标,点击网络和共享中心 点击连接的网络,打开后点击属性, 双击Internet版本协议4 ,将DNS服务器地址改为4.2.2.1或者4.2.2.2

outlook打不开一直转圈怎么办

1.打开 office 文档(表格或文档),选文件,找到选项菜单。 2.取消勾选“硬件图形加速”,保存设置,重启电脑设置生效。Outlook即可恢复正常打开。

centos7进系统图形化一直转圈或命令行提示starting switch root 处理方法

文章目录 说明测试解决方法 说明 测试系统:rhel7.3 , 该方法通用与centos和红帽。 原因,开机进不去系统,一直转圈,如下图 命令模式提示:starting switch root(忘截图) 测试 重启…

智能对话 | 使用 Java实现 智能对话机器人

人工智能 目前人工智能与深度学习顺应了互联网时代潮流,人机对话已经成为目前人工智能领域中非常热门的处理技术。其中基于深度学习的人机对话交换系统(智能机器人)是人工智能最有潜力的领域,甚至被称作人工智能的皇冠。相对于传…

如何用Java实现智能对话机器人

如何用Java实现智能对话机器人 前言 这个时代人工智能如此火爆,身为圈内人我们应该多少对他有些了解,为了靠他近一些今天我们动手用Java实现一个智能聊天机器人,当然此处我们需要依赖图灵机器人的Api 点我进入图灵机器人官网注册帐号 这篇博…

智能对话机器人开发实战案例剖析(2)

一、前言 本文是《智能对话机器人开发实战案例剖析》系列的第2篇:智能对话机器人分类标准,旨在对智能对话系统的进行一个系统性的介绍。相关内容已同步录制成视频课程,发布在网易云课堂。 二、正文 2.1 分类标准 2.2 闲聊型智能问答机器人…

智能对话机器人实战开发(1)- 体系结构和分类

一、前言 人工智能时代,以智能对话机器人为最核心的技术应用方向之一,实现人机之间通过自然语言的沟通和交流,是智能人机对话机器人的核心目标之一。尤其是Google Assistant 语音助手近期的卓越表现,如何开发智能对话机器人系统&…

智能对话机器人开发实战案例剖析(3)

一、前言 本文是《智能对话机器人开发实战案例剖析》系列的第3篇:智能对话机器人典型案例,旨在对智能对话系统的进行一个系统性的介绍。相关内容已同步录制成视频课程,发布在CSDN学院。 二、正文 2.1 国内外主要智能音箱产品 2.2 智能音箱…

数据可视化工具是什么

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

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

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

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

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

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

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

如何完美实现数据可视化?

为什么要可视化数据? 在工作中,无论你在哪个场景,你都会接触到数据,需要表达出来。数据可视化的作用是通过结合图表和数据来更好地传达业务信息。目前,大多数公司正在逐步从传统的流程管理过渡到基于数据的管理。数据可视化可以…

为什么会看到IP地址相同的两台电脑?附查询自己公网IP的方法

为什么会看到IP地址相同的两台电脑? 我们会询问这个问题的原因是因为我们经常看到在两个不同的地方可以配置相同的类似于192.168.xxx.xxx的IP地址,或者在实验室机房里可以随意配置类似于192.168.xxx.xxx的IP地址,这时我们就会产生疑问了&…

今天排查一个网关IP冲突的问题

问题概述:近几天,无线wifi发现总是出现随机断网,ping包外网发现不定时的丢包十几个,后排查是不是DNS出现了问题,经查外线不通时ping网关也能通,其实这是一种假像,当我打开网关的web地址时&#…

同一个ip,不同端口号,session失效

背景 我有两个工程projectA、projectB,projectA放在TomcatA中,projectB放在TomcatB中,TomcatA、TomcatB在一台server上。 工程都映射的根路径,不用project名字就可以访问,如下 http://ip1:7777/ http://ip1:8080/ …

chatgpt赋能python:Python如何取出表格中的两列数据

Python 如何取出表格中的两列数据 在数据处理过程中,我们常常需要从表格中提取某些特定的数据。Python提供了许多方便的库来处理和操作数据,其中pandas库是一个非常常用的库。在本文中,我们将会介绍如何使用pandas库来取出表格中的两列数据。…

chatgpt赋能python:Python如何创建表格

Python如何创建表格 在数据处理和数据可视化中,表格是常见的一种数据展示方式。而Python作为一种非常强大的编程语言,自然也可以用来创建各种各样的表格。接下来,我们就来介绍一下Python如何创建表格。 Python创建表格的库 Python创建表格…

chatgpt赋能python:Python操作表格的全面指南

Python操作表格的全面指南 表格是一种非常实用的数据展示方式,程序员在处理数据以及展示数据时也经常使用表格。Python提供了多个强大的库操作表格,本文将为你介绍一些常见的Python操作表格的方式——包括读取、写入、处理和操作。 读取表格 Python提…