看啥推荐读物
专栏名称: 码农每日一题
每天只需要花费几分钟就能收获一个技术知识点,工作日每天早晨推送一个技术面试知识点,让你在每天繁忙的工作之余也能有系统性的面试复习,随时做好涨薪准备,专注于 Java、Android、Unix 高级 C,做一个有态度的公众号。
今天看啥  ›  专栏  ›  码农每日一题

通过 JNI 移植一个 tracepath 追踪路由数据链给你的应用

码农每日一题  · 公众号  ·  · 2020-12-10 08:30
背景Linux 的 tracepath 指令可以追踪数据到达目标主机的路由信息,同时还能够发现 MTU 值。它跟踪路径到目的地,沿着这条路径发现 MTU。它使用 UDP 端口或一些随机端口。它类似于 Traceroute,只是不需要超级用户权限,并且没有花哨的选项。Android 也是移植的它,其源码放置位置在platform/external/iputils/tracepath6.c。我们之所以直接移植tracepath6.c而不是tracepath.c的原因是 tracepath6 支持 IPV6 和 IPV4 两种模式,而tracepath.c仅仅支持 IPV4,所以一把梭后我们直接完美兼容了两种。最近刚好在调研网络诊断覆盖能力,所以顺手移植了下它,大致效果如下。demo 效果移植后开箱即用地址https://github.com/yanbober/android-tracepath,喜欢就给个小星星呗,一闪一闪亮晶晶。开始移植本想捡个现成,去 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照