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

文章目录

  • 工作原理
  • 下载traceroute for android
  • 推送到安卓设备
  • 执行traceroute
  • traceroute www.baidu.com

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下

adb root
adb remount
adb push traceroute /system/bin/

执行traceroute

Linux/macOS

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

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),若超时则显示*。

作者:帅得不敢出门

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/news/908725.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Linux应用】Linux系统日志上报服务,以及thttpd的配置、发送函数

【Linux应用】Linux系统日志上报服务,以及thttpd的配置、发送函数 文章目录 thttpd服务安装thttpd配置thttpd服务thttpd函数日志效果和文件附录:开发板快速上手:镜像烧录、串口shell、外设挂载、WiFi配置、SSH连接、文件交互(RADX…

Linux 内核内存管理子系统全面解析与体系构建

一、前言: 为什么内存管理是核心知识 内存管理是 Linux 内核最核心也最复杂的子系统之一,其作用包括: 为软件提供独立的虚拟内存空间,实现安全隔离分配/回收物理内存资源,维持系统稳定支持不同类型的内存分配器,最优…

鼠标的拖动效果

1、变量的设置 let isDragging false; let startX; let startY; let endX; let endY; let box null;isDragging : 表示是否推拽startX、startY:表示起始坐标,相对于元素endX、endY:表示结束坐标,相对于元素box&…

SwaggerFuzzer:一款自动化 OpenAPI/Swagger 接口未授权访问测试工具

SwaggerFuzzer 🌐 一款自动化 OpenAPI/Swagger 接口未授权访问测试工具🚀 工具介绍:SwaggerFuzzer✨ 核心功能亮点🚀 快速使用🧰 支持参数 📌 项目结构📥 获取与下载 🌐 一款自动化 …

文献阅读:Exploring Autoencoder-based Error-bounded Compression for Scientific Data

目录 论文简介动机:为什么作者想要解决这个问题?贡献:作者在这篇论文中完成了什么工作(创新点)?规划:他们如何完成工作?离线训练阶段:在线压缩阶段 理由:通过什么实验验证它们的工作…

【业务框架】3C-相机-Cinemachine

概述 插件,做相机需求,等于相机老师傅多年经验总结的工具 Feature Transform:略Control Camera:控制相机参数Noise:增加随机性Blend:CameraBrain的混合列表指定一个虚拟相机到另一个相机的过渡&#xff…

设计一个算法:删除非空单链表L中结点值为x的第一个结点的前驱结点

目录 单链表的存储结构定义如下 快慢指针法 三指针法版本① 三指针法版本② 单链表的存储结构定义如下 typedef struct{Elemtype data;struct Node* next; }LNode,*LinkList; 快慢指针法 void deleteprex(LinkList L, Elemtype e) {if (L NULL || L->next NULL ||…

【Qt】:设置新建类模板

完整的头文件模板 #ifndef %FILENAME%_H #define %FILENAME%_H/*** brief The %CLASSNAME% class* author %USER%* date %DATE%*/ class %CLASSNAME% { public:%CLASSNAME%();~%CLASSNAME%();// 禁止拷贝构造和赋值%CLASSNAME%(const %CLASSNAME%&) delete;%CLASSNAME%&a…

​**​CID字体​**​ 和 ​**​Simple字体​**​

在PDF中,字体类型主要分为 ​​CID字体​​ 和 ​​Simple字体​​ 两大类,它们的主要区别在于编码方式和适用场景。以下是它们的详细对比: ​​1. CID字体(CID-keyed Fonts)​​ CID(Character Identifie…

计组_导学

2025.05.31:老汤讲408计组学习笔记 导学 第1章计算机系统概述:对计算机系统有全局的认识第2章总线系统:简单且独立,不会依赖其他内容,它是被依赖的第3章主存储器:只有了解主存储器的内部结构,才能理解在主存中是如何存储二进制的第4章数据的表示与运算:各种编码以及计算…

【GPT模型训练】第二课:张量与秩:从数学本质到深度学习的基础概念解析

这里写自定义目录标题 张量(Tensor)的定义关键特点:示例: 张量的秩(Rank)示例:“秩”的拼音常见混淆点 总结 张量(Tensor)的定义 在数学和物理学中,张量是一…

RabbitMQ work模型

Work 模型是 RabbitMQ 最基础的消息处理模式,核心思想是 ​​多个消费者竞争消费同一个队列中的消息​​,适用于任务分发和负载均衡场景。同一个消息只会被一个消费者处理。 当一个消息队列绑定了多个消费者,每个消息消费的个数都是平摊的&a…

【Linux操作系统】基础开发工具(yum、vim、gcc/g++)

文章目录 Linux软件包管理器 - yumLinux下的三种安装方式什么是软件包认识Yum与RPMyum常用指令更新软件安装与卸载查找与搜索清理缓存与重建元数据 yum源更新1. 备份现有的 yum 源配置2. 下载新的 repo 文件3. 清理并重建缓存 Linux编辑器 - vim启动vimVim 的三种主要模式常用操…

73常用控件_QFormLayout的使用

目录 代码⽰例: 使⽤ QFormLayout 创建表单. 除了上述的布局管理器之外, Qt 还提供了 QFormLayout , 属于是 QGridLayout 的特殊情况, 专 ⻔⽤于实现两列表单的布局. 这种表单布局多⽤于让⽤⼾填写信息的场景. 左侧列为提⽰, 右侧列为输⼊框 代码⽰例: 使⽤ QFormLayout 创…

兰亭妙微 | 医疗软件的界面设计能有多专业?

从医疗影像系统到手术机器人控制界面,从便携式病原体检测设备到多平台协同操作系统,兰亭妙微为众多医疗设备研发企业,打造了兼具专业性与可用性的交互界面方案。 我们不仅做设计,更深入理解医疗场景的实际需求: 对精…

鸿蒙开发修改版本几个步骤

鸿蒙开发修改版本几个步骤 比如:5.0.4(16)版本改为5.0.2(14)版本 一、项目下的build-profile.json5 "products": [{"name": "default","signingConfig": "default&qu…

Flask 基础与实战概述

一、Flask 基础知识 什么是 Flask? Flask 是一个基于 Python 的轻量级 Web 框架(微框架)。 特点:核心代码简洁,给予开发者更多选择空间。 与 Django 对比: Django 创建空项目生成多个文件,Flask 仅需一个文件即可实现简单应用(如 "Hello, World!")。 Flask …

Linux安全加固:从攻防视角构建系统免疫

Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…

Java严格模式withResolverStyle解析日期错误及解决方案

在Java中使用DateTimeFormatter并启用严格模式(ResolverStyle.STRICT)时,解析日期字符串"2025-06-01"报错的根本原因是:模式字符串中的年份格式yyyy被解释为YearOfEra(纪元年份),而非…