AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 849102
Accepted
AaronD
AaronD
Asked: 2016-11-14 12:58:40 +0800 CST2016-11-14 12:58:40 +0800 CST 2016-11-14 12:58:40 +0800 CST

网络 - 与其他计算机共享 - 如何找到客户端的 IP 地址?

  • 772

硬件是这样的:

  • 可通过 WiFi 上网的笔记本电脑。路由器实际上无法访问。
  • Headless Banana/Raspberry/Your-Favorite-Flavor Pi,需要 SD 映像和一些额外的软件包。

因此,我在 Pi 和笔记本电脑之间获得了一条临时交叉电缆,将笔记本电脑的以太网端口设置为“与其他计算机共享”(*),对 SD 卡进行映像,然后启动 Pi。现在,Pi 有什么地址以便我可以通过 SSH 访问它?

我不必像这个问题想要的那样强制一个特定的地址。我只是想知道它是什么。


(*) 网络通知->编辑连接... ->有线连接 1 ->编辑按钮-> IPv4 设置选项卡->方法 = 共享到其他计算机

networking
  • 2 2 个回答
  • 5345 Views

2 个回答

  • Voted
  1. Best Answer
    Sergiy Kolodyazhnyy
    2016-11-14T16:37:55+08:002016-11-14T16:37:55+08:00

    你可以做几件事。假设你有从笔记本电脑到树莓的单一以太网连接,那么arp-scan就足够了。首先,弄清楚您的以太网接口的名称是什么。就我而言,这是eth3. 因此,这里有一个例子:

    bash-4.3$ sudo arp-scan -I eth3 --localnet
    [sudo] password for xieerqi: 
    Interface: eth3, datalink type: EN10MB (Ethernet)
    Starting arp-scan 1.8.1 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/)
    10.42.0.40  b8:27:eb:96:38:91   (Unknown)
    
    1 packets received by filter, 0 packets dropped by kernel
    Ending arp-scan 1.8.1: 256 hosts scanned in 1.459 seconds (175.46 hosts/sec). 1 responded
    

    在输出中你可以看到我的树莓有 10.42.0.40 的 IP 地址。

    这arp-scan是非常简单的方法,不需要太多的汗水。也可以使用替代方法。以下是其中一些:

    • 知道网络的前 3 个八位字节(例如ip addr show eth3在我的例子中通过命令),您可以编写一个简单的脚本来 ping 主机范围。(有关执行此操作的 python 脚本,请参见下文)。
    • fping是标准ping命令的替代品,它确实允许探测主机范围
    • 您可以使用nmap多种方法执行主机发现。特别是,此命令:nmap -e eth3 -sn 10.42.0.0/24效果最好 - 它指示nmap仅在-sn选项指定的接口上使用选项执行主机发现(在引擎盖下将 ARP 请求发送到广播 MAC 地址)-e 。这10.42.0.0/24是网络的 CIDR 表示法。非常简单。
    • Wireshark也可用于捕获以太网接口上的数据包。当然,您的树莓派必须首先发送一些数据包才能被捕获,因此如果您没有“健谈”的树莓派,它可能无法正常工作。但是,您可以开始捕获、按 UDP 协议过滤、拔出并重新插入 Raspberry。您应该会看到 DHCP 请求和响应

      在此处输入图像描述

    • 当主机从网络中出现/消失时,设备会随着时间的推移构建它们的 arp 表,因此您也可以使用arp -a命令。

    • 如果您使用的是标准 Ubuntu 并且没有安装任何替代 DHCP 服务器,您可以检查dnsmasq为您的设备分配了 IP 的租约文件。例如:

      bash-4.3$ cat /var/lib/misc/dnsmasq.leases 
      1479095355 b8:27:eb:96:38:91 10.42.0.40 localhost *
      

      在此处查看我的相关问题:找不到树莓派的 DHCP 租约


    nmap如果您有连接了多个设备的以太网交换机,Wireshark那么这些方法将非常有用。

    既然我提到了用 编写脚本ping,这里有一个:

    from subprocess import *
    network = '10.42.0.'
    for num in range(255):
        i = str(num)
        dn = open('/dev/null','w')
        try:
            print('checking ' + network + i)
            check_call(['ping', '-c','1', '-W',
                        '1','-q',network + i],stdout=dn)
        except CalledProcessError:
            pass
            #print('10.42.0.' + i + ' is down')
        else:
            print('>>> ' + network + i + ' is up')
    

    这将 ping 我的网络 ( 10.42.0.x) 的 256 个地址范围,并指示哪些主机已启动。1 秒后 ping 超时,因此扫描所有内容需要 256 秒。如果您只有一个覆盆子,您可以编辑脚本以在 ip 响应 ping 时退出,从而加快进程。您还可以创建一定数量的线程。arp-scan但是仍然是更快的选择。

    • 7
  2. Lorenzo Pizzari
    2016-11-14T15:41:52+08:002016-11-14T15:41:52+08:00

    也许这个链接可能有用:https ://www.raspberrypi.org/documentation/remote-access/ip-address.md

    核心部分是:

    安装 nmap:

    apt-get install nmap
    

    执行 ping 扫描:

    nmap -sn <your-subnet>
    

    例如:

    nmap -sn 192.168.1.0/24
    

    然后你会得到一个类似于这个的输出:

    Starting Nmap 6.40 ( http://nmap.org ) at 2014-03-10 12:46 GMT
    Nmap scan report for hpprinter (192.168.1.2)
    Host is up (0.00044s latency).
    Nmap scan report for Gordons-MBP (192.168.1.4)
    Host is up (0.0010s latency).
    Nmap scan report for ubuntu (192.168.1.5)
    Host is up (0.0010s latency).
    Nmap scan report for raspberrypi (192.168.1.8)
    Host is up (0.0030s latency).
    Nmap done: 256 IP addresses (4 hosts up) scanned in 2.41 seconds
    

    有时,如果 wifi 可用,我也会使用移动应用程序:https: //play.google.com/store/apps/details? id=ua.com.streamsoft.pingtools

    • 1

相关问题

  • 如何设置 VLAN 转发?

  • 如何将主机 Ubuntu 上的 VPN (tun0) 网络适配器映射到 VirtualBox 来宾 Windows?

  • 如何限制下载/上传带宽?

  • 如何通过 Windows 网络共享文件?

  • 面板小程序以文本形式显示当前网络流量?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve