gpt4 book ai didi

android - Ping TTL 超出输出解密

转载 作者:行者123 更新时间:2023-11-30 00:39:11 24 4
gpt4 key购买 nike

我正在为 Android 创建一个 traceroute 服务,由于 Android 没有内置的 traceroute 命令,我正在使用 adb shell ping 迭代地实现一个,并增加 TTL 值。

这是请求/响应的示例:

    //Sample shellCommand: /system/bin/ping -c 1 -t 8
Runtime.getRuntime().exec(shellCommand + DESTINATION_URL);

PING opf-www.google.com (xxx.xxx.xxx.xxx) 56(84) bytes of data.
--- opf-www.google.com ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

  1. 我想知道如何破译“56(84) 字节数据”。这里的 56 和 84 是什么?

  2. 我想分析 traceroute 使用的数据量,并且正在使用 TrafficStats 类来执行此操作:

    int UID = myUid();
    long mStartRX = TrafficStats.getUidRxBytes(UID);
    long mStartTX = TrafficStats.getUidTxBytes(UID);
    new TracerouteTask().run();
    long rxBytes = TrafficStats.getUidRxBytes(UID)- mStartRX;
    long txBytes = TrafficStats.getUidTxBytes(UID)- mStartTX;

使用它,我总是收到 rxBytes 的 0 值,即没有。收到的字节数。为什么会这样?我们收到一个 ICMP TTL 超出数据包。

最佳答案

我找到了答案,更新以防将来对某人有帮助:)

56(84)in 表示 ICMP 消息中包含的“虚拟数据”的有效负载为 56 字节,当与告诉消息去向的 28 字节 ICMP header 数据组合时,总数据包大小为(84) 字节。

关于android - Ping TTL 超出输出解密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42817915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com