导航:首页 > 操作系统 > androidtcp接收

androidtcp接收

发布时间:2025-04-26 18:42:55

android设备怎么设置tcpip

1. 使用USB数据线连接设备(此方法需配置adb环境变量,也可直接进入adb工具目录执行\android-sdk-windows\platform-tools\)。
2. 命令输入adb tcpip 5555 ( 5555为端口号,可以自由指定)。
3. 断开 USB数据,此时可以连接你需要连接的USB设备。
4. 再命令输入 adb connect <设备的IP地址>:5555
后面就可以使用ADB ,DDMS 来调试Android应用或显示Logcat 消息。
5. 如果需要恢复到USB数据线,可以在命令行输入adb usb
注: Android设备的IP地址可以通过(设置->关于手机->状态信息)查看

Ⅱ 我怎样才能连接与亚行至Android通过TCP

手动处理 从您的设备,如果它是植根 根据对XDA开发后,您可以启用adb通过WiFi从装置su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

并且您可以禁用它,并返回亚行与监听USBsetprop service.adb.tcp.port -1
stop adbd
start adbd

从电脑,如果你有USB连接已经 这是更容易切换无线网络,如果你已经有了USB访问。从该行已在设备通过USB接口,连接问题adb tcpip 5555
adb connect 192.168.0.101:5555

一定要更换192.168.0.101与实际分配给您的设备的IP地址。 告诉亚行后台程序返回到监听通过USBadb usb

应用自动化进程 也有在谷歌播放的自动执行此过程的几个应用程序 CodeGo.net,快速搜索建议adbWireless,支持WiFiadb和adb的WiFi。所有这些都需要root权限,但adbWireless需要更少的权限。
2. 这是非常简单的。 首先确保你的手机是植根。 从市场上下载一个终端仿真器(有很多是free的)。 请确保您的Android连接到您的无线网络,并获得无线IP地址。 打开终端程序并键入:su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

现在去(假设你视窗)在桌面上创建一个快捷方式为“cmd.exe的”(不含引号)。 右键单击CMD快捷方式并选择"Run as Administrator"改变你的android-sdk-windows\tools folder类型:adb connect ***wifi.ip.address***:5555
(example: adb connect 192.168.0.105:5555)

亚行现在应该说你已连接。 注意:如果你太快给它可能会失败。所以,如果你说这是行不通的尝试至少2 5秒钟的时间间隔。
3. 我知道这是旧的,但我想补充我的2美分- 我需要得到两个USB和TCPIP工作的adb(不要问),所以我做了以下(使用方向其他人张贴的XDA开发) 运用adb shell:su
#set the port number for adbd
setprop service.adb.tcp.port 5555
#run the adbd daemon *again* instead of doing stop/start, so there
#are 2 instances of adbd running.
adbd &
#set the port back to USB, so the next time adb is started it's
#on USB again.
setprop service.adb.tcp.port -1
exit

4. 正如布赖恩说: 根据对XDA开发后,您可以启用adb通过WiFi从装置 对应setProp service.adb.tcp.port 5555 停止adbd 启动adbd 并且您可以禁用它,并返回亚行与监听USB 对应setProp service.adb.tcp.port-1 停止adbd 启动adbd 如果你有USB连接已经,它是更容易切换无线网络。从该行已在设备通过USB接口,连接问题 亚行TCPIP 5555 ADB连接192.168.0.101:5555 告诉亚行后台程序返回到监听通过USB 也有在Android Market上的几个应用程序能自动完成这些过程。 它works.You只需要访问Android shell,然后输入 另外一个(容易)解决方案是目前市场上:adbWireless,它会自动设置您的手机。 根是必须的!为...
5. 从adb --helpconnect <host>:<port> - connect to a device via TCP/IP

顺便说那行选项。 你应该尝试将手机连接到你的无线网络,然后得到它的IP从您的路由器,它不会工作,对 端口是5554
6. 您保存的adb路径到您的Windows路径 在Android激活调试模式 连接到PC 提示(有管理员右)类型:adb的TCPIP 5555 断开平板电脑,或从电脑智能手机 提示符下键入:ADB连接IPADDRESS(IP地址为您的平板电脑或智能手机的DHCP / IP地址,您可以通过无线网络找到->电流 现在,提示你应该看到类似的结果:连接到xxx.xxx.xxx.xxx:5555
7.adb tcpip 5555

奇怪,但是这只是工作,如果我有USB电缆连接,然后我就可以拔掉,并为它去与一切ADB。 而返回时,adb usb

只会工作连接。 没关系,如果我发出setprop service.adb.tcp.port 5555

或setprop service.adb.tcp.port -1

然后停止和启动adbd,我仍然需要电缆或这是行不通的。 所以,如果我的亚行不工作,我敢打赌,我将无法使亚行通过WiFi两种。
8. 你可以ssh本地端口转发。但它仍然涉及电缆。 您的USB连接(主机)与一个sshd运行。 在远程(游客)个人电脑开始能够portforwarding /隧道的ssh客户端端。 例如:砰砰-L 5037:本地主机:5037 这种结构给我的设备连接到虚拟机。 到是不够稳定(在调试过程中) SSH隧道工程为自由和更可靠。
9. 我不知道如何连接的设备,而在所有的任何一个USB连接,但如果你能,也许在您连接它可以通过发出切换adbd到TCP模式adb tcpip <port>

从终端,从任何PC上通过连接到您的设备通过WiFi:adb connect <ip>:<port>

也许也有可能从该装置上的终端切换到TCP模式。
10. 我觉得其他的答案就简单得多了adbWireless: 只需在手机上安装一个应用程序切换调试通过wifi,安装一个Eclipse插件,你就大功告成了。
11. 要连接您的TCP端口 请确保您的系统和设备连接到网络 1。打开控制台的cmd.exe 2,型号ADB TCPIP 5555 3。至系统->选项-> USB调试unchek它TCPIP连接 4.type ADB连接192.168.1.2这是您的设备ip地址 5。连接到192.168.1.2 如果你错误:未找到设备 连接设备到系统然后按照 为扎根设备 对应setProp service.adb.tcp.port 5555 停止adbd 启动adbd
12. 在我的系统是这样的: 我在我的Linux shell中的Android设备,一个简单的“使用ifconfig”没有我的IP地址。我只好类型: 用ifconfig eth0 -或- 加上netcfg 让我的IP地址。 (我知道是eth0的配置,我看到它在我的dmesg)然后我做了: 对应setProp service.adb.tcp.port-1 停止adbd 启动adbd 然后在我的Win7盒(一个运行Eclipse 3.7.1)。我打开提示 \\ Android的SDK \\平台工具> 没有以管理员身份运行。然后我做了一个 ADB连接12.345.678.90 我从来没有把一个端口。如果我做了 亚行TCPIP 5555 它说,它无法找到该设备,然后没有出现在我的“亚行的设备”列表中。即这只是工作,如果我不这样做上面。 我可以做一个“亚壳”与我的Android设备。但我的Android设备不现在出现在我的运行->运行配置-> Target选项卡。在另一方面,如果我把目标选项卡设置为自动。后来,当我通过运行我的应用程序运行->运行它并运行我的Android设备上,即使我的Android设备甚至没有列为我的目标之一。
13. 要使用TCP和USB模式之间切换只需你可以将它添加到/init.rc:on property:service.adb.tcp.port=*
restart adbd
on property:service.adb.tcp.enable=1
setprop service.adb.tcp.port 5555
on property:service.adb.tcp.enable=0
setprop service.adb.tcp.port -1

现在你财产service.adb.tcp.enable启用或禁用侦听端口5555。运行netstat以检查它是否在听。正如你可以看到它也会触发,如果你想改变service.adb.tcp.port手动。
14. 使用adbwireless应用程序,使手机,亚行从Windows机器连接到它对话。在手机上的应用程序adbwireless告诉你如何连接到它,给人的IP地址和一切。 要少得多有趣的选择是通过USB进行连接,告诉亚行通过TCPIP 5555手机TCPIP,然后断开USB,ADB连接。这是更难通过这种方式,你必须找出手机的IP地址,你自己(adbwireless告诉你的IP),你必须通过USB进行连接,你必须运行adb的TCPIP(adbwireless需要的是照顾过)。 所以:在手机上安装adbwireless。使用它。这是可能的,我这样做经常在Linux和Windows上。
15. 我放在一起自动启用和通过TCP连接adb,通过USB连接的设备的批处理文件。有了它,你不必把在IP手动。@echo off
setlocal
REM Use a default env variable to find adb if possible
if NOT "%AndroidSDK%" == "" set PATH=%PATH%;%AndroidSDK%\platform-tools
REM If off is first parameter then we turn off the tcp connection.
if "%1%" == "off" goto off
REM Set vars
set port=%1
set int=%2
if "%port%" == "" set port=5557
if "%int%" == "" set int=wlan0
REM Enable TCP
adb -d wait-for-device tcpip %port%
REM Get IP Address from device
set shellCmd="ip addr show %int% | grep 'inet [0-9]{1,3}(\.[0-9]{1,3}){3}' -oE | grep '[0-9]{1,3}(\.[0-9]{1,3}){3}' -oE"
for /f %%i in ('adb wait-for-device shell %shellCmd%') do set IP=%%i
REM Connect ADB to device
adb connect %IP%:%port%
goto end
:fail
echo adbWifi [port] [interface]
echo adbWifi off
goto end
:off
adb wait-for-device usb

Ⅲ Android Http连接和TCP连接的区别

Http是应用层协议,TCP是网络层协议,应用层在TCP/IP四层架构中位于TCP的上一层。

建立Http连接在实现时有以下两种方式:
1、[java] view plain
DefaultHttpClient http = new DefaultHttpClient();
HttpGet method = new HttpGet(url);
HttpResponse response =http.execute(method);
2、[java] view plain
URL url = new URL(uri);
HttpURLConnection connection = (HttpURLConnection)
url.openConnection();
connection.connect();

而TCP连接在实现时要借助Socket(套接字 IP+端口号)
[java] view plain
Socket s = new Socket("localhost", 12345);

区别从这两个连接的实现方式就可以看出来,HTTP连接需要指明资源的URL,发出请求的应用不知道服务器的IP,虽然域名服务器也是要把域名解析成IP地址,但不属于应用所关心的范畴,是网络层应该完成的工作。所以Http连接属于无状态的短连接,若再请求其他数据,需要再重新建立连接。客户端向服务器发送请求后,服务器才知道客户端的存在。
TCP连接实现时需要指明IP地址和端口号,就可以跟目的主机通过三次握手建立联系,该连接一直保持直到某一方提出取消连接,通过四次握手关闭连接。Socket支持TCP/UDP协议,如果使用TCP协议,那么socket连接就是TCP连接。论文提到的应用场景是手机与云端的服务器建立联系,因为要保持连接并指定连接的建立时间,所以在这种场景下使用TCP连接最合适。3G网络不支持端到端建立TCP连接,因为它是client-server模式,所以需要通过云端服务器的辅助来实现手机的端到端通信。

Ⅳ android实现聊天功能是怎么做到的

1、使用网络技术:通过对TCP/IP协议的支持,搭建TCP/IP客户端/服务端通信系统,由服务端负责接收发送消息,客户端负责发送消息。

2、利用XMPP技术:XMPP(Extensible Messaging and Presence Protocol)是一种可扩展的即时消息和存在协议,XMPP可以实现多用户实时聊天,也可以实现多种客户端的消息交互功能。

3、 利用HTTP协议:HTTP协议是多用户聊天室的主要技术手段,在HTTP协议支持的客户端/服务器结构模型中,客户端发送消息到服务器,服务器再将消息转发给客户端,实现多用户聊天室。

Ⅳ 如何在 Android 手机上实现抓包

千锋扣丁学堂Android开发为您解答:
tcpmp是最快捷方便的抓包方式,还可以加深对网络协议的理解。android下可以通过如下方式抓包:

1 Android上启动tcpmp

Android设备可以把tcpmp的可执行文件上传到android设备上,然后通过mac远程登录android设备运行tcpmp,前提是这台android设备必须已经root过。步骤如下:

下载android版本的tcpmp为android系统编译的tcpmp版本。

通过adb将tcpmp上传到android设备

通过adb push将tcpmp文件上传到特定的目录,这里我们选择/sdcard/data目录。

在android设备上运行tcpmp

通过adb shell登陆设备,并执行tcpmp,最后一步执行./tcpmp即可。

2. 分析tcpmp输出

经过上面的步骤成功运行tcpmp之后,接下来就可以分析输出的网络包内容了,iOS设备和Android设备的输出是一致的。我们先来解析下几个基本的格式:

图中红色方框内的部分是一个ip包的详细记录,类似的纪录还有好几条。这里我们着重分析第一条的各部分字段含义。

14:37:41.615018 很简单,是该包接收到的时间。

17.143.164.37.5223 是发送方的ip地址及端口号(5223是端口号)。

10.29.44.140.58036 是我android的ip地址及端口号。

Flags [P.]
是tcp包header部分的第14个字节的P位。这个字节所包含的几个flag很重要,后面我会单独详细讲解。这里P位表示接受方需要马上将包push到应用层。

seq 1:54
tcp包的seq号,1是起始值,54结束值。tcp之所以被认为是流,是因为tcp包所携带的每一个字节都有标号(seq号)。1:54表明总共有54个字节被接受,其中一个字节是三次握手阶段所使用,所以一共发送的长度是53字节。

ack 101 tcp包的ack号,ack 101表明seq号为100的字节已被确认收到,下一个期望接收的seq号从101开始。

win 255 win表示的是tcp包发送方,作为接受方还可以接受的字节数。这里win
255表明ip为17.143.164.37的主机还可以接受255个字节。

options [nop,nop,…] options[…]表示的是该tcp包的options区域,nop是no
opertion的缩写,没什么实际用途,主要是用做padding,因为options区域按协议规定必须是4字节的倍数。

options[… TS val 2381386761] ts
val这个值是tcp包的时间戳,不过这个时间戳和设备的系统时间没啥关系,刚开始是随机值,后面随着系统时钟自增长。这个时间戳主要用处是seq序列号越界从0重新开始后,可以确认包的顺序。

options[… ecr 427050796] ts ecr这个值主要用来计算RTT。比如A发送一个tcp包给B,A会在包里带上TS
val,B收到之后在ack包里再把这个值原样返回,A收到B的ack包之后再根据本地时钟就可以计算出RTT了。这个值只在ack包里有效,非ack包ecr的值就为0.

length 53 这个length是应用层传过来的数据大小,不包括tcp的header。这个值和我们上面分析的seq 1:54是一致的。

以上就是一个基本的tcp包结构,大家可以按照上面的分析再把其他几个包理解下。我们在做应用的时候面对的更多是http协议,但对一个http请求是怎么通过tcp/ip分解成一个个的packet,然后怎么在网络上稳定可靠的传输,要有个基本的印象。下面我们再看下tcpmp更多的功能,这些功能都是基于对tcp/ip协议的理解,遇到不理解的建议多google下相关的技术概念。

3. tcpmp知识拓展

再继续深入tcpmp之前,先贴上一张tcp header格式图,常看常新。

[https://github.com/music4kid/music4kid.github.io/blob/master/images/tcpheader.png?raw=true](https://github.com/music4kid/music4kid.github.io/blob/master/images/tcpheader.png?raw=true)"
width="1056">

3.1 TCP Flags(tcp header第十四个字节)

我们再仔细看下上面提到的flags概念,flags位于tcp
header的第十四个字节,包含8个比特位,也就是上图的CWR到FIN。这8个比特位都有特定的功能用途,分别是:CWR,ECE,URG,ACK,PSH,RST,SYN,FIN。

CWR ,ECE 两个flag是用来配合做congestion
control的,一般情况下和应用层关系不大。发送方的包ECE(ECN-Echo)为0的时候表示出现了congestion,接收方回的包里CWR(Congestion
Window Reced)为1表明收到congestion信息并做了处理。我们重点看其他六个flag。

URG
URG代表Urgent,表明包的优先级高,需要优先传送对方并处理。像我们平时使用terminal的时候经常ctrl+c来结束某个任务,这种命令产生的网络数据包就需要urgent。

ACK
也就是我们所熟悉的ack包,用来告诉对方上一个数据包已经成功收到。不过一般不会为了ack单独发送一个包,都是在下一个要发送的packet里设置ack位,这属于tcp的优化机制,参见delayed
ack。

PSH Push我们上面解释过,接收方接收到P位的flag包需要马上将包交给应用层处理,一般我们在http
request的最后一个包里都能看到P位被设置。

RST Reset位,表明packet的发送方马上就要断开当前连接了。在http请求结束的时候一般可以看到一个数据包设置了RST位。

SYN
SYN位在发送建立连接请求的时候会设置,我们所熟悉的tcp三次握手就是syn和ack位的配合:syn->syn+ack->ack。

FIN
Finish位设置了就表示发送方没有更多的数据要发送了,之后就要单向关闭连接了,接收方一般会回一个ack包。接收方再同理发送一个FIN就可以双向关闭连接了。

这8个flag首字母分别是:C E U A P R S F。初看难以记忆,我脑洞了下,把它们组合成 supr
cafe,当然少了super少了个e,我可以将就下。我们在使用tcpmp的时候会经常看到这几个flag,[S],[P],[R],[F],[.]。其他几个都好理解,[.]特殊点,是个占位符,没有其他flag被设置的时候就显示这个占位符,一般表示ack。

3.2 tcpmp 更多使用参数

这部分我们来看下tcpmp常用的一些命令参数。文章最开始部分的tcpmp命令是这样的:sudo tcpmp -i rvi0 -AAl。
-i rvi0 -AAl都是属于参数部分。常见的有这些:

-i, 要监听的网卡名称,-i rvi0监听虚拟网卡。不设置的时候默认监听所有网卡流量。

-A, 用ASCII码展示所截取的流量,一般用于网页或者app里http请求。-AA可以获取更多的信息。

-X,用ASCII码和hex来展示包的内容,和上面的-A比较像。-XX可以展示更多的信息(比如link layer的header)。

-n,不解析hostname,tcpmp会优先暂时主机的名字。-nn则不展示主机名和端口名(比如443端口会被展示成https)。

-s,截取的包字节长度,默认情况下tcpmp会展示96字节的长度,要获取完整的长度可以用-s0或者-s1600。

-c,只截取指定数目的包,然后退出。

-v,展示更多的有用信息,还可以用-vv -vvv增加信息的展示量。

src,指明ip包的发送方地址。

dst,指明ip包的接收方地址。

port,指明tcp包发送方或者接收方的端口号。

and,or,not,操作法,字面意思。

上面几个是我个人比较常用的,更多的参数可以参考这个详细文档。有兴趣的可以分析下面几个例子练习下:

tcpmp ‘tcp[13] & 16!=0’

tcpmp src port 80 and tcp

tcpmp -vv src and not dst port 23

tcpmp -nnvvS src 192.0.1.100 and dst port 443

4. 用tcpmp分析http完整请求

说了这么多,我们再来实战下,看一个完整的http请求流程。sudo tcpmp -i rvi0 -AAl src 60.28.215.123 or
dst 60.28.215.123

列出了6个前面的packet,10.29.44.240是我android的ip地址,60.28.215.123是知乎server的ip地址,红色方框内是android发出的packet,白色方框内是server发出的packet。packet1是android三次握手的第一个syn包,packet2是server
ack+syn的包,packet3是android ack的包。这3个packet之后tcp的三次握手就完成了。

packet4是android发出的http
request。长度只有240个字节,所以一个packet就发过去了,当然还设置了flags的P位,request需要马上被应用层处理。包里面出现了spdy,点赞。

packet5是server ack刚收到的包,长度位0,所以这仅仅是一个ack包。

packet6是server返回http的response了,1388个字节。packet5和packet6都ack了seq为241的包,当然是为了增加ack的成功率。

中间还有好几个packet就不仔细分析了,最后再看下请求完成的最后几个包:

最后两个packet比较简单,android发送个FIN+ACK的包就断开连接了,server直接发送了一个RST包后也断开连接了。

Ⅵ android中的tcp udp需要权限吗

android中的tcp和udp不需要任何权限。因为它们都是网络通讯协议的一种,只要手机没有问题,能够上网,就可以使用TCP和UDP协议了。
TCP/IP是用于电脑通信的一组协议,我们通常称之为TCP/IP协议族,它是七十年代中期美国国防部为其ARPANET广域网开发的网络体系结构和协议标准,以它为基础组建的Internet是目前国际上规模最大的电脑网络,正因为Internet的广泛使用,使得TCP/IP成了事实上的标准。之所以说TCP/IP是一个协议族,是因为TCP/IP协议包括TCP、IP、UDP、ICMP、RIP、TELNET、FTP、SMTP、ARP、TFTP等许多协议,这些协议统称为TCP/IP协议。
TCP/IP协议的名字实际上是来自最重要的两个协议,TCP(传输控制协议)和IP(网际协议)。它负责把需要传输的信息分割成许多小包,也叫做信息包,然后把这些信息包发往目的地,它能有效地保证传输的安全性和正确性。
在Internet内部,信息不是以一个恒定的流从主机传送到主机,而是把数据分解成小包,即数据包进行传送。例如你传送一封很长的信件给你的朋友,TCP就可以把这些信息分成很多个数据包,每个数据包用一个序号和一个接收地址来标定。此外,TCP还插入一些纠错信息。
接着数据包被传过网络,这就是IP的工作,即把它们传送给远程主机。在另一端,TCP接收到数据包并核查错误。如果有错误发生,TCP可以要求重发这个特定的数据包。只要所有的数据包都被正确地接收到,TCP将用序号来重新构造原始信息。换句话说,IP的工作是把原始数据从一地传送到另一地,TCP的工作是管理这种流动并确保其数据是正确的。ß把数据分解成数据包有很多好处。首先,它允许Internet让很多不同的用户在同一时刻使用同一通讯线路。因为这些数据包不必一起输送,所以通讯线路可以载着所有类型的数据包按它们自己的路径从一地到另一地。就如一条高速公路上各个汽车都在公路上行驶。ß用数据包传输的另一个好处是:当某处出错,只需重新传送单个数据包,而不是整个信息,这样会大大加快Internet的传输总速度。
TCP/IP是把电脑和通讯设备组织成网络的协议大家庭,两个最重要的协议是TCP和IP。IP从一地到另一地传输数据,而TCP则保证它们都正确地工作。
目前,遍布世界范围的Internet网络主要采用的就是TCP/IP协议,而且,国内大多数网络建设现在已朝着TCP/IP协议的方向发展。

阅读全文

与androidtcp接收相关的资料

热点内容
植物大战僵尸qt源码 浏览:112
linux下部署php项目 浏览:854
服务器假死是什么表现 浏览:917
电子厂加密岗位 浏览:756
找不到同款app怎么办 浏览:467
app恶意程序怎么解决 浏览:675
每次压缩md5都不一样 浏览:723
服务器双网卡怎么设置网关 浏览:620
筹码为王副图公式源码 浏览:455
命令方块自定义药水 浏览:956
电脑上自带的视频文件夹 浏览:833
面试程序员怎么谈薪资 浏览:307
linuxc语言格式化 浏览:498
mac合并pdf文件 浏览:797
怎样选择文件夹你部分的图片 浏览:632
服务器共享文件夹怎么查询 浏览:114
为什么双路服务器突然关机 浏览:690
51单片机定时器0任务调度 浏览:190
程序员编程语言经典合集epub 浏览:567
cadline未知命令 浏览:106