草庐IT

Networking

全部标签

java - Android:NAT 穿越?

在我看来,较新的Android设备在NAT后面运行,其中本地地址是内部运营商或LAN地址,公共(public)地址是路由器或运营商分配的外部地址。然而,较新的手机不会使用NetworkInterface返回与访问IP检测服务时相同的地址。因此,通过直接P2PSocketChannels连接本质上会失败。是否有针对Android平台设计的此问题的通用解决方法?任何人都可以澄清是什么导致了这个类似NAT的安全问题吗?任何指向JavaNAT遍历教程或示例(不是文章或论文)的链接也将被视为有帮助(因为我'我不太确定如何用Java实现它)。我当然也会接受任何人提供的任何其他解决方案!

android - 在RxJava中使用 "skipWhile"结合 "repeatWhen"实现服务器轮询

我真的很喜欢RxJava,它是一个很棒的工具,但有时很难理解它是如何工作的。我们在我们的Android项目中使用带有RxJava的Retrofit,并且有以下用例:我需要轮询服务器,重试之间有一些延迟,而服务器正在做一些工作。服务器完成后,我必须交付结果。所以我已经用RxJava成功地完成了,这里是代码fragment:我将“skipWhile”与“repeatWhen”一起使用SubscriptioncheckJobSubscription=mDataManager.checkJob(prepareTweakJob).skipWhile(newFunc1(){@Overridepub

javascript - 忽略 Android React Native 上的 SSL 证书检查

我目前正在Android上使用ReactNative。我正在使用fetch()发出api请求,但请求给我一个网络请求失败,这是由于端点没有ssl证书。我能够通过修改一些xcode文件在iOS上删除此检查。有没有办法在Android上忽略ssl证书检查? 最佳答案 /***DisablestheSSLcertificatecheckingfornewinstancesof{@linkHttpsURLConnection}Thishasbeencreatedto*aidtestingonalocalbox,notforuseonprod

Android Studio 下载每次都取消

每当我尝试下载适用于Linux的androidstudio时,当只剩下最后一秒时,它会显示网络错误。我试了5次,同样的事情发生了。在最后一秒,下载取消并显示“未知网络错误”。我试过在Windows和Ubuntu上下载,但结果是一样的。我能够毫无问题地下载适用于Windows的androidstudio。 最佳答案 在Windows10上使用Chrome下载失败4次,大约95%暂停/恢复对禁用防火墙没有帮助,对尝试Firefox没有帮助Firefox重试效果很好并继续下载只需使用Firefox下载此文件

android - proguard 防止逆向工程的安全性如何?

我将在应用中处理非常敏感的数据。根据我的定义,混淆并没有增加安全性,它只会在有限的时间内拖延破解者。Proguard是否有可能在这方面做得如此出色,以至于可以称为增加的安全性?最敏感的是一些网络调用。很难嗅探密码,因为我们将在双方生成密码并使用时间戳检查其有效性。问题是应用程序可能会被逆向工程并且生成算法可能会被利用。不可能将算法保存在本地文件中,因为破解者可以使用已获得root权限的手机检索它。从服务器下载算法是行不通的,因为同样的问题也适用于此,如果破解者对应用程序进行逆向工程,他/她将能够看到算法的来源。非常感谢任何关于如何进行的输入!编辑我试图保护的是生成算法,这样破解者就不会

android - 将 Eclipse 连接到不同机器上的 Android 模拟器

虽然我很确定这应该是可能的,但似乎找不到以下信息:我在机器A上运行Android模拟器。我在另一台使用Eclipse的机器B上进行开发。现在,当我在Eclipse中切换到DDMS透视图时,我希望机器A中的模拟器显示在设备选项卡中。原因是模拟器非常慢,看起来在不同的机器上运行开发和模拟器可能是一个解决方案。由于模拟器在特定端口上运行,我很确定我只需要弄清楚如何告诉eclipse在哪里寻找模拟器。感谢任何提示 最佳答案 您可以告诉adb连接到监听IP地址和TCP端口的设备。然后该设备应该出现在eclipse中。所以调试机器很容易。模拟器

android - 如何从特定的 Android 应用程序捕获网络流量。

我读过一篇论文,其中提出了一种从特定Android应用程序捕获网络流量的方法。它说“我们使用tcpdump从虚拟机收集所有网络流量。我们将strace实用程序移植到Android以记录每个网络应用程序执行的系统调用。我们使用应用程序的进程ID(pid)识别了应用程序启动的所有线程。根据这些线程信息,我们可以过滤掉不是来自应用程序的流量”。但是我仍然不知道操作原理。那么如何从特定的android应用程序捕获网络流量?感谢您的回答。 最佳答案 您还可以使用SandroProxy.它还可以捕获不遵守android操作系统代理设置的应用程序

Android:如何监控WiFi信号强度

当信号强度发生变化时,我会收到通知。我尝试创建以下方法并在onCreate()中调用它:privatevoidinitializeWiFiListener(){Log.i(TAG,"executinginitializeWiFiListener");Stringconnectivity_context=Context.WIFI_SERVICE;finalWifiManagerwifi=(WifiManager)getSystemService(connectivity_context);if(!wifi.isWifiEnabled()){if(wifi.getWifiState()!=

android - 用于在 Android 应用程序中配置静态 IP 地址的 API

是否可以在应用程序中设置Android接口(interface)的IP地址?我可以使用java.net.NetworkInterface查询可用接口(interface)及其当前地址,但这不提供更改这些接口(interface)的工具。我只是错过了什么地方,还是不允许的?我希望能够让我的应用程序在运行时在“现成”设备上更改或添加一个或多个现有接口(interface)的别名。(2.1/2.2)。理想情况下,我想对IPv4都这样做和IPv6地址。 最佳答案 Settings.System包括几个你可以使用的标志:WIFI_USE_ST

android - 检查网络连接android

在我在模拟器上测试的应用程序中,我使用以下代码检查网络连接(WIFI):publicbooleanisOnline(){ConnectivityManagercm=(ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfonetInfo=cm.getActiveNetworkInfo();if(netInfo!=null&&netInfo.isConnectedOrConnecting()){returntrue;}returnfalse;}此方法始终返回true,即使我禁用了计算机的无