Android设备推送traceroute命令进行网络诊断

文章目录

Traceroute(追踪路由) 是一个用于网络诊断的工具,主要用于追踪数据包从源主机到目标主机所经过的路由路径,以及每一跳(路由器)的响应时间、IP 地址等信息。它通过逐层发送特定类型的网络数据包,并分析返回的响应来实现路由追踪。

工作原理

Traceroute 的核心原理基于 ICMP 协议 和 TCP/UDP 协议,具体步骤如下:

  1. 发送探测数据包
    初始时,设置数据包的 TTL(生存时间)值为 1,第一个路由器收到数据包后会将 TTL 减 1 至 0,此时路由器会返回一个 ICMP 超时报文,告知源主机该路由器的存在和响应时间。
    随后,逐步增加 TTL 值(如 2、3、4...),重复上述过程,直到数据包到达目标主机或超过预设的最大跳数(默认通常为 30 或 64)。
  2. 判断目标是否可达
    当 TTL 值足够大时,数据包到达目标主机。若目标主机开放了指定端口(如 UDP 的 33434 端口),则会返回 ICMP 端口不可达报文,表示追踪完成;若使用 TCP 协议,目标主机会返回 SYN/ACK 响应(针对开放端口)。

下载traceroute for android

  1. 进入traceroute-android-executable github主页
  2. 如下图点击libs
  3. 选择合适的bin,32位系统选择armeabi-v7a,64位选择arm64-v8a
  4. 点击traceroute
  5. 点击下载,如下图右下角有个下载的图标,点击下载可执行文件

推送到安卓设备

得有root权限,否则推送不了或者无法执行,比如下图放到/sdcard中是执行不了的

推送到/system/bin下

bash 复制代码
adb root
adb remount
adb push traceroute /system/bin/

执行traceroute

Linux/macOS

bash 复制代码
traceroute [选项] 目标主机
  • 常用选项:
    -I:使用 ICMP 协议(默认)。
    -T:使用 TCP 协议(针对特定端口,如 80 或 443)。
    -U:使用 UDP 协议(默认)。
    -n:不解析 IP 地址的域名,直接显示 IP。
    -p:指定 TCP/UDP 端口(仅用于 - T/-U 选项)。

    示例:

    bash 复制代码
    traceroute -I www.baidu.com  # 使用ICMP追踪百度
    traceroute -T -p 443 www.google.com  # 使用TCP 443端口追踪谷歌

traceroute www.baidu.com

bash 复制代码
traceroute to www.baidu.com (183.2.172.17), 30 hops max, 60 byte packets
1  XiaoQiang (192.168.31.1)  162.510 ms  160.598 ms  158.673 ms
2  192.168.3.1 (192.168.3.1)  157.332 ms  156.154 ms  155.153 ms
3  * * *
4  100.64.0.1 (100.64.0.1)  170.763 ms  170.129 ms  169.556 ms
5  61.146.241.237 (61.146.241.237)  168.678 ms * 119.145.223.201 (119.145.223.201)  167.655 ms
6  * * *
7  113.96.5.202 (113.96.5.202)  198.940 ms * 113.96.4.6 (113.96.4.6)  196.529 ms
8  * * *
9  14.29.117.170 (14.29.117.170)  28.338 ms  26.507 ms  25.786 ms
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *
  • 各列含义:
    第 1 列:跳数(TTL 值)。
    第 2 列:路由器的 IP 地址(或域名)。
    第 3-5 列:三次探测的响应时间(ms),若超时则显示*。

作者:帅得不敢出门

相关推荐
Jerry说前后端4 分钟前
Android 移动端 UI 设计:前端常用设计原则总结
android·前端·ui
bytebeats5 分钟前
Jetpack Compose 1.9: 核心新特性简介
android·android jetpack
Icey_World8 分钟前
Mysql笔记-错误条件\处理程序
android
wxy31929 分钟前
嵌入式LINUX——————TCP并发服务器
java·linux·网络
蒋星熠1 小时前
C++零拷贝网络编程实战:从理论到生产环境的性能优化之路
网络·c++·人工智能·深度学习·性能优化·系统架构
huluang1 小时前
医院网络安全重保行动方案
网络·安全
九州ip动态1 小时前
如何安全使用改IP软件更改异地IP地址?
网络·tcp/ip·安全
大王派来巡山的小旋风1 小时前
Kotlin基本用法之集合(一)
android·程序员·kotlin
用户2018792831671 小时前
智能广播系统(RemoteCallbackList)的诞生
android
用户2018792831672 小时前
Binder 同应用内(本地)通信是否存在 1MB 大小限制?
android