首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反向tethering Android

反向tethering Android
EN

Stack Overflow用户
提问于 2013-08-23 19:27:33
回答 3查看 1.1K关注 0票数 2

我尝试过对Android使用不同的reverse thetering指令,但是没有人帮助我。

我连接了几秒钟(30秒),然后连接消失了。

在连接管理器中,我已经看到我的电话的wired unmanaged连接

我正在使用Linux

我如何解决反向互联网消失的问题。

Linux配置有问题吗?

EN

回答 3

Stack Overflow用户

发布于 2013-08-27 09:38:35

如果你使用HTC手机,android需要一个(windows)驱动程序来激活“互联网传输”,如果这里没有驱动程序,你将在几秒钟后失去连接。

但是我们可以在不需要root mobile的情况下破解它。使用这个perl连接移动设备的6000端口。此脚本可以启用"Internet传输“,您可以看到一个图标显示在面板上。

代码语言:javascript
复制
    ● cat bin/htcsock.pl 
    #!/usr/bin/perl  

    use IO::Socket::INET;  
    #6000/tcp open  X11
    do{
    open IN,"/proc/net/arp"; @arp=<IN>; close IN;
    @d=grep ! /00:00:00:00:00:00/,grep /0x2.*usb0/,@arp;
    } until($d[0]);
    $_=$d[0]; s/\ .*//; chomp; print "sock:\t$_\n";

    my $sock = IO::Socket::INET->new(PeerAddr => $_ , PeerPort => 6000,                 Type=>SOCK_STREAM, Proto=>"tcp") or die "socket connect fail. $@\n";  

    print $sock "\x00\x02\x00\x00"; receivesock();
    print $sock "\x00\x03\x00\x00"; receivesock();
    print $sock "\x00\x05\x00\x00";
    close $sock;  

    sub receivesock{
    local $/=\4;
    print "Receive: --"; print unpack "H*",<$sock>; print "--\n";
    }
票数 0
EN

Stack Overflow用户

发布于 2014-02-05 02:44:29

作为另一种方法(与显示here的Perl脚本的功能相同,但不需要Perl),您可以使用建议的here,我将在下面转录(我做了一些修改):

首先,安装bind9,因为它可以避免DNS转发的问题。

代码语言:javascript
复制
sudo apt-get install bind9

将POSTROUTING规则添加到iptables:

代码语言:javascript
复制
sudo iptables -A POSTROUTING -t nat -j MASQUERADE

允许数据包转发:

代码语言:javascript
复制
echo 1 | sudo tee -a /proc/sys/net/ipv4/ip_forward

现在插入您的手机,并选择‘互联网通过’。

等待设备出现在ifconfig中。

检查它是否也在arp中。

我发现我必须拔出设备,然后重新插入才能让它出现在arp中,如果arp没有显示设备,事情就不会正常工作。

然后,设备将等待HTC Sync发送消息,因此您必须模拟HTC Syncs消息:

代码语言:javascript
复制
#change this line to be more specific if you have more than one usb network device
phone_usb_device="usb"
get_ip ()
{
    arp -n | grep $phone_usb_device | awk '{print $1}'
}

#TODO: This needs a timeout and loop needs cleaning up, but works fine and borrowed from another post.
echo "waiting for IP on computer usb"
while [[ `get_ip` < 192 ]];do sleep 2; done
phoneip=`get_ip`
echo "IP adress is $phoneip "

echo -n -e "\x00\x02\x00\x00" | nc -q 2 $phoneip 6000 > /dev/null

后面的部分可以转换为D-Bus脚本。

如果您只是想测试Internet直通功能,您可以只使用最后一条线路,因为所有电话需要的是端口6000上的二进制序列。

希望这能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2015-05-22 10:23:52

android的反向tethering

这里是反向tethering click here的步骤,它需要根你的设备。

这对我很管用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18401704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档