如何查看连接到网络的所有计算机

Lui*_*ado 80 networking lan

我在局域网中,有 3 个 Ubuntu、2 个 Kubuntu、2 个 Windows XP 和 2 个 Windows 7。有哪些命令或工具可用于查看哪些 PC 连接到 LAN,它显示了 PC 的名称和 IP。类似于 Angry IP 之类的工具,可以显示 LAN 中的所有 PC。

请注意,我不知道连接到 LAN 的计算机的 IP 或名称。所以工具或命令应该寻找它们。

Man*_*uel 56

Arp-scan 对我也很有用...

如果使用无线网络:

sudo arp-scan -l --interface=wlan0
Run Code Online (Sandbox Code Playgroud)

- 或者如果使用以太网:

sudo arp-scan -l --interface=eth0
Run Code Online (Sandbox Code Playgroud)

(最后一个实际上与 Rajesh Rajendran 发布的内容相同;-l 代表 --localnet)

如果您没有 arp-scan(默认情况下它不随 Ubuntu 一起提供),只需打开一个终端并输入:

sudo apt-get install arp-scan
Run Code Online (Sandbox Code Playgroud)

  • 如果这不起作用,请使用 ifconfig 获取接口列表并尝试将 eth0 切换到其他内容。 (4认同)

小智 53

自从 Linux/Windows 工作站查找 LAN 上的所有主机

for ip in $(seq 1 254); do ping -c 1 192.168.1.$ip>/dev/null; 
    [ $? -eq 0 ] && echo "192.168.1.$ip UP" || : ;
done
Run Code Online (Sandbox Code Playgroud)

但是对于一个很棒的工具,Nmap。非常适合映射网络。

  • +1 这是一个非常漂亮的小 IP 地址扫描器。 (7认同)
  • 仅当子网使用 /24 寻址时,此功能才有效。 (2认同)

Raj*_*ran 40

最简单的事情是

arp-scan --localnet
Run Code Online (Sandbox Code Playgroud)

  • `arp-scan -l` 做同样的事情。 (7认同)

小智 31

我总是使用nmap。要扫描网络中的所有设备,请使用:

nmap -sP 192.168.0.1/24

更多信息:https : //www.cyberciti.biz/networking/nmap-command-examples-tutorials/

这是一个很好的工具。您可能需要nmap使用以下方法安装:

sudo apt-get install nmap 如果您使用的是 Debian 或

sudo pacman -S nmap 如果您使用的是 Arch。


Lui*_*ado 15

作为一种可能的 GUI 选项,我见过的最好的选项是http://angryip.org/download/#linux 中的Angry IP

只需下载最新的 DEB 包并安装。然后从 Dash 运行 ipscan。这是一个屏幕截图:

在此处输入图片说明


Mar*_*oma 9

arp

Address                  HWtype  HWaddress           Flags Mask            Iface
iPhone-von-me.fritz.box  ether   12:55:05:30:3c:df   C                     wlp3s0
android-abcdefghijklmno  ether   11:66:3f:71:04:d6   C                     wlp3s0
fritz.box                ether   00:11:3f:46:37:c2   C                     wlp3s0
Blupiblu.fritz.box       ether   71:88:cc:bb:dc:a6   C                     wlp3s0
Run Code Online (Sandbox Code Playgroud)

邻居

ip neighhosts不需要 nmap/sudo

在此基础上,您可以构建一个 Python 脚本:

#!/usr/bin/env python

"""List all hosts with their IP adress of the current network."""

import os

out = os.popen('ip neigh').read().splitlines()
for i, line in enumerate(out, start=1):
    ip = line.split(' ')[0]
    h = os.popen('host {}'.format(ip)).read()
    hostname = h.split(' ')[-1]
    print("{:>3}: {} ({})".format(i, hostname.strip(), ip))
Run Code Online (Sandbox Code Playgroud)

下载方式

wget https://gist.githubusercontent.com/MartinThoma/699ae445b8a08b5afd16f7d6f5e5d0f8/raw/577fc32b57a7f9e66fdc9be60e7e498bbec7951a/neighbors.py
Run Code Online (Sandbox Code Playgroud)


Eva*_*ice 7

如果您的路由器上未禁用广播...

您可以ping 广播地址。

ping -b 192.168.0
Run Code Online (Sandbox Code Playgroud)

将向 192.168.0/24 子网内的每个主机广播 ping 命令。

注意:保持广播关闭可能是个好主意,因为这就是黑客可以使用 DDOS Smurf 攻击来利用网络的方式。基本上,使用具有欺骗目的地址(即受害者的 IP 地址)的数据包 ping 广播地址。还有更多的东西,但这就是谷歌的目的。

注意:同样的方法也适用于 Windows,但您 ping 实际广播地址(不是子网)。

ping -b 192.168.0.255
Run Code Online (Sandbox Code Playgroud)