Android 热点上的网络服务器 - 它的 IP 是什么?

2024-01-02

我想将 Android 手机设置为 wifi 热点,然后在其上运行网络服务器,并从连接到该热点的另一部手机浏览它。

我的手机没有root,但我已经root了termux http://termux.com,其中有许多 unix 实用程序。我不想安装额外的应用程序。 (但很高兴写一篇!)

我可以在上查看 python 简单网络服务器http://localhost(在主机上),但在另一部手机上则不然。我尝试使用主机电话的面向公众的IP(使用whatsmyip类型的网页检查它),但没有成功。 有人说移动 ISP 通过映射不同的内部和外部 IP 来防止这种情况......但在这里,它不通过 ISP,只是通过热点......

我还尝试了来自ifconfig以及 Android 内的 wifi 控制,does为。。。工作netcat- 但仅限连接到热点的客户端电话的 IP(而非主机)。

那是,netcat在连接到热点的电话上进行监听,然后netcat在热点电话上连接到它。 (即角色交换:热点客户端是netcat服务器)。奇怪的是,手机热点好像没有have一个IP(至少,到目前为止我还没有发现)。但它必须有一个,不是吗?netcat连接...?

不管怎样,我想要热点主机上的网络服务器,所以我需要它的IP来连接到它......有没有办法得到它?

这已经困扰我很多年了。 非常感谢您的帮助!

编辑答案这个问题 https://stackoverflow.com/questions/17302220/android-get-ip-address-of-a-hotspot-providing-device?rq=1说它(几乎)总是 192.168.43.1。我现在无法尝试;当我有时会更新。

UPDATE
1. 192.168.43.1 works
2. py http.server对于常规文件(例如 txt、pdf)效果很好,但视频文件似乎需要一些它所缺少的流协议。我发现lighttpd有这个(可在termux using apt install lighttpd)。但它需要配置(并且没有例如/默认值)。我用了:

$ cat > lighttp.conf
dir-listing.activate = "enable"
server.port = 8000
server.document-root = "MY PATH HERE"
$ lighttpd -D -f lighttpd.conf

目录列表使其更易于使用,但显然此处没有配置安全性,因此要小心您提供的内容。
3. Android(我的 5.1,无论如何)需要先关闭飞行模式,然后才能将其设为 wifi 热点 - 这对于互联网访问有意义...但在这里,我只希望客户端能够访问主机,而不是让它可访问到整个互联网。所以我发现你可以关闭数据访问来防止这种情况,并且热点仍然有效。 (肯定有办法以编程方式在飞行模式下建立热点......)

你有它!电话作为媒体服务器。


public static String getDeviceIpAddress( ) {
String deviceIpAddress = "###.###.###.###";

try {
    for (Enumeration<NetworkInterface> enumeration = NetworkInterface.getNetworkInterfaces(); enumeration.hasMoreElements();) {
        NetworkInterface networkInterface = enumeration.nextElement();

        for (Enumeration<InetAddress> enumerationIpAddr = networkInterface.getInetAddresses(); enumerationIpAddr.hasMoreElements();) {
            InetAddress inetAddress = enumerationIpAddr.nextElement();

           if (!inetAddress.isLoopbackAddress() && inetAddress.getAddress().length == 4) 
            {
                deviceIpAddress = inetAddress.getHostAddress();

                Log.e(TAG, "deviceIpAddress: " + deviceIpAddress);
            }
        }
    }
} catch (SocketException e) {
    Log.e(TAG, "SocketException:" + e.getMessage());
}

return deviceIpAddress;
}

我想这会对你有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 热点上的网络服务器 - 它的 IP 是什么? 的相关文章

随机推荐

  • 如何在 Linux Ubuntu 16 上安装 luasql?

    感谢 StackOverflow 社区的帮助 我能够在我的计算机上正确安装 luasql运行 Linux CentOS 7 的计算机 https stackoverflow com questions 43149280 how to ins
  • C++ 程序在两个 IDE 中返回不同的结果

    我写以下内容c 程序在CodeBlocks 结果是 9183 我再次将其写入Eclipse运行后返回9220 两者都使用MinGW 正确的结果是9183 这段代码有什么问题 谢谢 源代码 include
  • 如何在 hadoop 2.5.2 上启动并检查作业历史记录

    在每个应用程序的mapreduce webconsole中都有一个指向xx 19888 jobhistory 的跟踪ui链接 但是如何在19888上启动服务 我已经启动了4个服务 yarn resource manager yarn nod
  • 如何告诉闭包编译器保留对象的属性

    我有一个这样声明的对象 my namespace FEATURES FIRST FEATURE first feature SECOND FEATURE second feature I use my namespace my object
  • 如何读取Firebase实时数据库中的子节点

    我有一个 Firebase 实时数据库 我想写入它 这很简单 但我已经向数据库添加了不止一棵树 并且想知道如何写入第二棵树 现在我只能写入第一棵树 Image for better understanding 例如 我如何写入颜色信息 注意
  • 如何在 Silverlight 中赋予文本框焦点?

    在我的 Silverlight 应用程序中 我似乎无法将焦点集中到 TextBox 控件上 根据各种帖子的推荐 我已将 IsTabStop 属性设置为 True 并使用 TextBox Focus 尽管 UserControl Loaded
  • Zend_Tool 删除控制器/操作

    我用 Zend Tool 制作了一个控制器 但现在我想删除该控制器 我知道我可以删除该文件 但我想知道是否有办法使用 Zend Tool 来执行此操作 所以我不需要自己编辑 zfproject xml Thanks 您必须手动删除它 此功能
  • 一个进程的传出连接数限制(.Net)

    当我在一个线程中下载一个文件时 需要 0 1 秒 但是 当我以 100 个线程下载同一个文件时 每次下载需要 10 秒 源代码 private static int threadsCount private static string ur
  • 使用哪个合并运算符来侦听单个源而不是第二个流源

    所以我知道这个问题可能看起来很简单 但事实并非那么简单 我尝试过的所有运算符 例如combineLatest concat and switchMap导致差异问题 所以这是挑战 var campaignSelected this store
  • 使用 RCurl getURL 函数访问 ASP 网页时出现“对象已移动”错误

    我正在尝试使用getURL的函数RCurl打包以便访问ASP网页为 my url lt http www my site org my site main asp ID 11 REFID 33 webpage lt getURL my ur
  • 将 Django 与 Ajax 库集成的“最佳”方式

    显然 课程的马匹 但是将 javascript 库与 Django 应用程序集成的一些好方法是什么 我计划使用 jQuery 主要是因为它看起来很流行并且看起来很强大 但我愿意接受其他建议 是否有非常有用或必不可少的 python 端库 或
  • ODP.NET 的 Oracle 数据库更改通知不起作用

    我是 Oracle DB 的新手 正在尝试启用数据库更改通知 private void RegisterNotification const string connstring Data Source ORA DB User Id USER
  • 更改 jQuery mobile 1.4.0 中单选按钮的样式

    我的 jQuery 移动应用程序中有以下单选按钮 我需要将它们设置为下图中的单选按钮 我已经尝试了以下CSS 但它没有给我相同的结果 请帮助我 Html div div style height 63px div div div div
  • GCC - 将 int 分配给 char 时不应该发出警告吗?

    我最近在我的笔记本电脑上设置了 MinGW MSYS 环境 以检查 Netbeans C C 支持的情况 一切似乎都工作正常 但是 在我的测试过程中 我注意到 GCC 和 Microsoft 的 cl exe 编译器之间的差异 这是一个示例
  • 是否可以设置没有cookie的nginx?

    我看到 尤其是在德国 越来越多的网站要求获得设置 cookie 的许可 我当前的项目不需要应用程序级别的 cookie 所以我想知道我是否不应该完全放弃饼干 我的问题 是否可以完全使用 nginx 设置静态网站而不使用 cookie 如果是
  • 如何为 html 或 css 中的文本创建自定义下划线或突出显示?

    I m trying to figure out how to create a custom background effect for text In other words how can I make something like
  • SqlBulkCopy 在单个记录上?

    我的软件可以部署在两种不同的配置中 一种是我在一天中偶尔收到单个数据点的滴流 另一种是我在一天结束时获得所有数据的转储 对于日终转储 显然 我将使用SqlBulkCopy 具有可配置批量大小的命令 但是 为了简单起见 我想通过将批量大小设置
  • 在类中“in”重新声明方法

    我正在创建一个抽象数据类型 它创建一个双向链表 不确定它是正确的翻译 在其中 我创建了一个方法 len 来以正确的方式计算它的长度 一个方法 repr 来正确表示它 但我现在不想创建一个方法 当用户做出类似的事情时 if foo in li
  • data.table 中的左连接[重复]

    这个问题在这里已经有答案了 我正在尝试左加入data table 我要参与panelFull and panel在 的基础上OutletID From panel I want CellID要插入的列panelFull gt panel 1
  • Android 热点上的网络服务器 - 它的 IP 是什么?

    我想将 Android 手机设置为 wifi 热点 然后在其上运行网络服务器 并从连接到该热点的另一部手机浏览它 我的手机没有root 但我已经root了termux http termux com 其中有许多 unix 实用程序 我不想安