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
    • 最新
    • 标签
主页 / unix / 问题 / 675069
Accepted
abacox
abacox
Asked: 2021-10-28 16:17:09 +0800 CST2021-10-28 16:17:09 +0800 CST 2021-10-28 16:17:09 +0800 CST

如何与子网中的“父”IP“对话”?

  • 772

我只能访问 *nix 系统。NetBSD 和/或基于 Linux 的裸操作系统。

所以我的问题来自这样一个事实,即ADB在所有平台上都没有广泛使用,如果是这样很难安装或获取(可以访问互联网,获得超级用户访问权限等)。

无论如何,RNDIS几乎所有 Android 设备都已经提供了功能。允许手机成为“路由器”将使我可以选择使用 netcat,因为我可以设置“服务器”并双向获取/接收文件,而无需ADB参与。

像这样:

NetBSD
dhcpcd -n urndis0

Linux
udhcpd -i usb0

这将为我提供一个由 Android 设置的子网内的 IP。就像是:192.168.32.225/24

因此,电话本质上充当路由器,为我的 *nix 计算机提供属于电话本身设置的子网的 IP。我只想在我的本地主机上打开一个端口127.0.0.1并netcat传输文件。

像这样的东西:

On Android device:
busybox nc -v -w3 -l -p 3838

On *nix system (Linux in the example below):
nc -v -w3 **(upper higher loopdevice outside subnetted network) 127.0.0.24** 3838

并且能够访问 Android 自己的本地网络中已经存在的“更高”网络/循环设备。

让我们假设 Android 手机是另一台主机共享它的连接并为此分配一个子网 IP 给我的计算机,以便我的 *nix 盒子可以访问互联网:

那么我的问题是:我可以使用Android手机的RNDIS接口提供的IP(在子网内)通过*nix中的标准工具访问手机本身的本地网络吗?

解决方案 @Frédéric Loyer 非常感谢!

太好了,使用这种方法,我不需要在adb我正在使用的每台计算机上运行,​​大多数时候我得到的是busybox ncand or ssh。这太完美了,有了这个我什至可以 ssh 进入我的 Android,甚至不需要手机本身的活动连接,是不是很神奇!?

这就是我所做的。

# This makes my computer to request an IP to my phone.
$sudo udhcpc -i usb0

# Since I got access to busybox-only most of the time, this gives me the IP from the "router" which is the phone.

$route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.42.129  0.0.0.0         UG    0      0        0 usb0
127.0.0.1       *               255.255.255.255 UH    0      0        0 lo
192.168.42.0    *               255.255.255.0   U     0      0        0 usb0

# ifconfig output shows me the new IP assigned to usb0 on my computer.

之后,只需通过 SSH 连接到我的手机或使用 Termux 打开端口即可。惊人!:)

linux networking
  • 1 1 个回答
  • 153 Views

1 个回答

  • Voted
  1. Best Answer
    Frédéric Loyer
    2021-10-28T22:34:56+08:002021-10-28T22:34:56+08:00

    在 Android 手机上,您输入了:

    busybox nc -v -w3 -l -p 3838
    

    这似乎没问题。

    在 Linux 上,键入ip route. 你应该有这样的东西:

    default via 37.59.40.254 dev enp1s0 onlink 
    37.59.40.0/24 dev enp1s0 proto kernel scope link src 37.59.40.118 
    

    带有default路由的行表示路由器地址。(这里37.59.40.254)。您应该尝试nc使用此路由器地址从 Linux 输入,因为它是 RNDIS 子网上的 Android 地址。您应该只输入一个 IP 地址:没有 127.0.0.24。(127 个地址被保留用于您的 Linux 系统内的内部交换)。

    这里没有切片之类的东西:Android 创建了一个可能的网络192.168.32.0/24。在这个网络上定义了两个地址(一个用于两端),其他地址可能不起作用。

    • 1

相关问题

  • 使用键盘快捷键启动/停止 systemd 服务 [关闭]

  • 奇怪的路由器与centos 6一起工作[关闭]

  • 需要一些系统调用

  • astyle 不会更改源文件格式

  • 通过标签将根文件系统传递给linux内核

Sidebar

Stats

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

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve