Answers:
方法1
最简单的方法是访问网络路由器的管理页面。它将包含有关网络上任何其他设备的信息,包括IP地址。
方法#2
如果知道计算机的网络名称,则可以ping
在终端中使用它。它将返回计算机的IP地址。
方法#3
如果您不知道计算机的网络名称,则可以使用另一个技巧ping
。找到您的IP地址和子网掩码。两者都应该在“系统偏好设置”的“网络偏好设置”窗格中可见。排列IP地址和子网掩码,然后用IP地址的相同相对位置替换子网掩码中的所有0
值255
。例如,如果您分别具有以下IP地址和子网掩码:
192.168.1.151
255.255.255.0
该0
是子网掩码的最后一个字段,所以更换了与IP地址的最后一个字段255
和ping到它:ping 192.168.1.255
您应该获得一个响应,其中包含网络上能够响应ping的任何设备的IP地址。
方法#4
最后一个技巧是使用terminal命令arp -a
。这将显示它知道的网络上所有设备的IP和MAC地址。
最后两个技巧来自这篇 Macworld文章。
arp -a
仅当Mac已成功探测或已连接到主机时,方法4才有效。通过重新启动Mac并显示arp表来尝试一下。几乎是空的。要填充该表,您需要运行诸如ping扫描之类的操作:nmap -sP 192.168.1.0/24
ping SOME-PC -4
争取解决IPV4。
ping adminPC
ping adminPC计算机并显示IP地址。正如Nakilon所评论的那样,ping adminPC -4
显示IPv4。
问:我怎么知道该IP地址的其他计算机在我的网络?
很多网络
好吧,首先您的计算机可能位于许多网络上。您可以使用ifconfig
命令查看此内容。里面有很多信息,但是大多数信息都是压倒性的,所以我喜欢这样过滤:
$ ifconfig | grep -E '^[a-z0-9]|inet '
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet 127.0.0.1 netmask 0xff000000
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.101 netmask 0xffffff00 broadcast 192.168.0.255
en1: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500
en2: flags=963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX> mtu 1500
p2p0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 2304
awdl0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1484
bridge0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
utun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 2000
utun1: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1500
inet 172.141.0.10 --> 172.141.0.9 netmask 0xffffffff
en5: flags=8963<UP,BROADCAST,SMART,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu 1500
inet 169.254.146.193 netmask 0xffff0000 broadcast 169.254.255.255
bridge100: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.3.1 netmask 0xffffff00 broadcast 192.168.3.255
左对齐线的第一个字段是网络接口名称。你的wifi大概是en0
。我的AWS的TunnelBlick VPN是utun1
。我bridge100
为RaspberryPi 创建的“系统偏好设置”>“共享”>“ Internet共享”我可以通过以太网加密狗从MacBook Pro中获得互联网。
假设IPv4
因为您要求输入IP地址,所以我假设您关心的是IPv4地址。我使用“ inet”(带有空格)来阻止IPv6的“ inet6”条目。如果您想要IPv6,那么您可能比我更了解网络,我应该问您一些问题。
查找主机
让我们专注bridge100
于此,为您带来一点Google流量。当许多人想通过网络或通过Internet共享将SSH或RDC接入无头计算机(如RaspberryPi)时,就会遇到这种情况。当您没有与设备的连接历史记录(arp表)时,这尤其困难。为此,可以使用,这是bridge100 inet(192.168.3.1)的值,最后一位替换为“ 0/24”。但是,nmap在OSX上不是标准的,因此我们可以使用homebrew安装它。sudo nmap -sn 192.168.3.0/24
$ brew install nmap
Warning: nmap-7.31 already installed
$ sudo nmap -sn 192.168.3.0/24
Password:
Starting Nmap 7.31 ( https://nmap.org ) at 2016-11-21 22:03 EST
Nmap scan report for 192.168.3.6
Host is up (0.00025s latency).
Nmap scan report for 192.168.3.1
Host is up.
Nmap done: 256 IP addresses (2 hosts up) scanned in 2.08 seconds
由此,您可以假设我的RaspberyPi 192.168.3.6
由于某种原因获得了IP 。上一次我连接它时,我在另一个子网中,并且连接了它192.168.2.3
。nmap技巧比键入好得多ping 192.168.3.2
,ping 192.168.3.6
直到找到它为止。
希望对您有所帮助。
假设您具有主机名并且使用的是mDNS(在Mac环境中为Bonjour),则还有其他一些尚未发现的用于发现IP地址信息的工具。除非您进行其他配置,否则您的本地网络名称将采用以下格式:host-name.local
因此,在最初的示例中,您将寻找computer2.local
首先:
dscacheutil -q host -a name <host-name>.local
例如:
% dscacheutil -q host -a name computer2.local
name: computer2.local
ip_address: 10.0.1.6
另一个有用的工具是dig
(dig google.com
例如尝试),该工具带有一些特殊参数,可用于查询本地网络的mDNS节点。
% dig @224.0.0.251 -p 5353 <host-name>.local
% dig @224.0.0.251 -p 5353 -x <ip-address>
要仅获取IP地址,dig
您可以尝试:
% dig +short @224.0.0.251 -p 5353 <host-name>.local
该脚本应该可以快速为您提供所需的信息,并且需要安装nmap。这样做的好处是,如果您的主机不回复ping探测,nmap仍会找到该主机,而其他工具则不会。
#!/bin/bash
i="en1" # edit this to fit your Network interface
cidr=$(while read y; do echo ${y%.*}".0/$(m=0; while read -n 1 x && [ $x = f ]; do m=$[m+4]; done < <(ifconfig $i | awk '/mask/ {$4=substr($4,3); print $4}'); echo $m )"; done < <(ifconfig $i | awk '/inet[ ]/{print $2}') | head -n 1 | sed s/addr://g | sed 's/\/0//g')
myip=`ifconfig $i | grep "inet " | awk 'NR==1 {print $2}' | sed s/addr://g`
set -x
sudo nmap -n -T4 -PN -p9091 --exclude "$myip" "$cidr"
将该脚本存储为,lookup.sh
并使用
LANG=c bash lookup.sh
/usr/bin/qnmap: line 2: =en1: command not found
看起来像美元符号之前不i
应该在那里。
您还可以使用netstat显示网络地址:
roger.moore@WKSTCAL0141 ~
$ netstat -n
Active Connections
Proto Local Address Foreign Address State
TCP 127.0.0.1:11235 127.0.0.1:49184 ESTABLISHED
TCP 127.0.0.1:49155 127.0.0.1:49156 ESTABLISHED
TCP 127.0.0.1:49156 127.0.0.1:49155 ESTABLISHED
TCP 127.0.0.1:49184 127.0.0.1:11235 ESTABLISHED
TCP 192.168.10.131:445 192.168.10.119:52624 ESTABLISHED
TCP 192.168.10.131:1433 192.168.10.2:60866 ESTABLISHED
TCP 192.168.10.131:1433 192.168.10.119:52775 ESTABLISHED
TCP 192.168.10.131:3389 192.168.10.119:54473 ESTABLISHED
TCP 192.168.10.131:49154 192.168.10.119:52796 ESTABLISHED
TCP 192.168.10.131:49182 192.168.10.9:52230 ESTABLISHED
TCP 192.168.10.131:49247 192.168.10.6:445 ESTABLISHED
TCP 192.168.10.131:49432 192.168.10.4:1106 ESTABLISHED
TCP 192.168.10.131:49440 192.168.10.4:1106 ESTABLISHED
TCP 192.168.10.131:49451 192.168.10.6:1025 ESTABLISHED
TCP 192.168.10.131:55100 192.168.10.2:445 ESTABLISHED
TCP 192.168.10.131:64558 192.168.10.20:135 TIME_WAIT
TCP 192.168.10.131:64559 192.168.10.20:49158 TIME_WAIT
TCP 192.168.10.131:64566 192.168.10.100:135 TIME_WAIT
TCP 192.168.10.131:64575 192.168.10.100:59811 TIME_WAIT
TCP 192.168.10.131:64581 192.168.10.41:139 TIME_WAIT
TCP 192.168.10.131:64582 192.168.10.3:5357 TIME_WAIT
TCP 192.168.10.131:64585 192.168.10.61:3910 TIME_WAIT
TCP 192.168.10.131:64587 192.168.10.65:3910 TIME_WAIT
TCP 192.168.10.131:64588 192.168.10.9:139 TIME_WAIT
TCP 192.168.10.131:64589 192.168.10.135:2869 ESTABLISHED
TCP 192.168.10.131:64593 192.168.10.6:135 TIME_WAIT
TCP 192.168.10.131:64594 192.168.10.6:1025 TIME_WAIT
TCP 192.168.10.131:64599 192.168.10.100:59811 TIME_WAIT
如果您想使用IP知道名称,请访问:http : //runakay.blogspot.com/2013/12/obtaining-computer-name-from-ip-address.html