如何在同一网络中检测给定设备的IP

高学历

我有一个非常典型的情况,我想使用ssh将(android)手机连接到同一(wifi)网络中的linux笔记本。IP是由DHCP分配的,因此我事先只知道一个客户端。知道了客户端的IP之后,我原则上可以在同一个网络中的所有可能IP上循环执行ssh命令,以查看服务器是否在监听。但是,这似乎效率很低。那么,如何确定主机的IP(知道它的MAC地址),以便可以使用ssh连接到它呢?我知道其他软件可以实现这样的功能,因此它必须是可能的。相关:我可以在客户端(假设是Linux)上为该IP动态分配主机名,以便在ssh配置文件中使用静态条目吗?

B

您可以通过以下两个步骤进行操作:

步骤1:

扫描子网以填充ARP缓存。有方法但是我建议fping通过在终端中运行命令bellow将其安装在Ubuntu上:

apt-get install fping

...然后扫描您的网络(例如,子网192.168.10.0/24):

fping -g 192.168.10.0/24

现在,ARP缓存已充满您子网中设备的MAC地址。

第2步

在您的ARP缓存上应用适当的过滤器以仅查看目标设备。只需使用以下命令(aa:bb:cc:dd:ee:ff设备的MAC在哪里):

arp -n | grep -i aa:bb:cc:dd:ee:ff | cut -c-15

输出是目标设备的IP地址。

编辑1:

示例MAC地址已更改为小写,因为Linux以这种方式显示它(与使用大写字母的Microsoft Windows不同)

编辑2:

在bash脚本之后,/etc/hosts使用名称手机将一个条目添加到主机文件(),以便您可以使用名称手机访问设备要刷新关联的IP地址,只需再次运行即可。更改namemac并将subnet更改为所需的值。

#!/bin/sh
name="cellphone"
mac=aa:bb:cc:dd:ee:ff
subnet=192.168.10.0/24
fping -g ${subnet}
ip="$(arp -n | grep -i ${mac} | cut -c-15)"
sed -i".bak" '/'${name}'/d' /etc/hosts
if [ -z "$ip" ]; then
    echo "Device not found!"
else
    echo "${ip}\t${name}" >> /etc/hosts
fi

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从同一网络中的另一台计算机访问localhost?

来自分类Dev

如何从同一网络上的另一台设备连接到localhost:8888?

来自分类Dev

在Android设备和PC(同一网络)之间使用套接字

来自分类Dev

如何在CAFFE的新网络中重复使用同一网络两次

来自分类Dev

通过phonegap应用程序从同一网络中的移动设备与本地服务器进行通信

来自分类Dev

从同一网络上的其他设备连接到Flask Server

来自分类Dev

无法从同一网络下的其他设备(Android手机)ping vm ip地址

来自分类Dev

无法通过wifi连接到同一网络的设备访问本地主机

来自分类Dev

同一网络上设备的磁盘空间

来自分类Dev

同一网络适配器的两个IP

来自分类Dev

在Android设备和PC(同一网络)之间使用套接字

来自分类Dev

Linux:检查是否在同一网络中

来自分类Dev

知道ip来自同一网络还是来自不同网络

来自分类Dev

在Sencha Touch中同一网络上的设备之间传输消息

来自分类Dev

如何在PF意义上使用具有不同子网的IP连接到同一网络

来自分类Dev

如何使计算机的防火墙允许同一网络中的设备进入?

来自分类Dev

在其他设备(同一网络)上访问Localhost

来自分类Dev

无法解析同一网络上设备的IP地址

来自分类Dev

如何通过主机名访问同一网络中的主机?

来自分类Dev

当机器通过两个接口连接到同一网络时,如何分配IP?

来自分类Dev

如何从与Docker主机位于同一网络的设备访问Docker容器?

来自分类Dev

如何使两个接口在同一网络中使用同一网关?

来自分类Dev

同一网络上的无线设备无法相互访问

来自分类Dev

如何从同一网络中的android deivice访问托管在localhost上的站点?

来自分类Dev

从不在同一网络上的设备连接Flask Web服务

来自分类Dev

如何为同一网络上的计算机分配不同的单个公用IP地址

来自分类Dev

确定同一网络中的全局IP vb.net,C#

来自分类Dev

同一网络中多主机中的docker网络

来自分类Dev

如果同一网络中的某些其他设备也具有相同的公共 IP,我们如何通过其公共 IP 访问计算机的本地主机?

Related 相关文章

  1. 1

    如何从同一网络中的另一台计算机访问localhost?

  2. 2

    如何从同一网络上的另一台设备连接到localhost:8888?

  3. 3

    在Android设备和PC(同一网络)之间使用套接字

  4. 4

    如何在CAFFE的新网络中重复使用同一网络两次

  5. 5

    通过phonegap应用程序从同一网络中的移动设备与本地服务器进行通信

  6. 6

    从同一网络上的其他设备连接到Flask Server

  7. 7

    无法从同一网络下的其他设备(Android手机)ping vm ip地址

  8. 8

    无法通过wifi连接到同一网络的设备访问本地主机

  9. 9

    同一网络上设备的磁盘空间

  10. 10

    同一网络适配器的两个IP

  11. 11

    在Android设备和PC(同一网络)之间使用套接字

  12. 12

    Linux:检查是否在同一网络中

  13. 13

    知道ip来自同一网络还是来自不同网络

  14. 14

    在Sencha Touch中同一网络上的设备之间传输消息

  15. 15

    如何在PF意义上使用具有不同子网的IP连接到同一网络

  16. 16

    如何使计算机的防火墙允许同一网络中的设备进入?

  17. 17

    在其他设备(同一网络)上访问Localhost

  18. 18

    无法解析同一网络上设备的IP地址

  19. 19

    如何通过主机名访问同一网络中的主机?

  20. 20

    当机器通过两个接口连接到同一网络时,如何分配IP?

  21. 21

    如何从与Docker主机位于同一网络的设备访问Docker容器?

  22. 22

    如何使两个接口在同一网络中使用同一网关?

  23. 23

    同一网络上的无线设备无法相互访问

  24. 24

    如何从同一网络中的android deivice访问托管在localhost上的站点?

  25. 25

    从不在同一网络上的设备连接Flask Web服务

  26. 26

    如何为同一网络上的计算机分配不同的单个公用IP地址

  27. 27

    确定同一网络中的全局IP vb.net,C#

  28. 28

    同一网络中多主机中的docker网络

  29. 29

    如果同一网络中的某些其他设备也具有相同的公共 IP,我们如何通过其公共 IP 访问计算机的本地主机?

热门标签

归档