AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[traceroute](server)

Martin Hope
Pyrrha
Asked: 2021-10-12 06:15:14 +0800 CST

traceroute 是否使用相同的路径?

  • 0

我对traceroute的使用有点困惑。

根据这个

traceroute 命令用于查看数据包是如何被路由的。它的工作原理是发送 TTL 值从 1 开始递增的数据包。因此,第一个路由器获取数据包,并将 TTL 值递减 1,从而丢弃数据包。路由器将 ICMP Time Exceeded 消息发回给我们。然后下一个数据包的 TTL 为 2,因此它通过了第一个路由器,但当它到达第二个路由器时,TTL 为 0,它返回另一个 ICMP Time Exceeded 消息。Traceroute 之所以这样工作,是因为它在发送和丢弃数据包时会构建一个数据包经过的路由器列表,直到它最终到达目的地并获得 ICMP Echo Reply 消息。(来源:https ://linuxjourney.com/lesson/traceroute )

据此,我们如何确保traceroute在每次发送ICMP数据包时使用相同的路径?在第二次、第三次、第四次呼叫等期间不能将数据包路由到其他地方吗?

谢谢。

router networking traceroute
  • 1 个回答
  • 267 Views
Martin Hope
Felipe
Asked: 2021-10-05 05:26:54 +0800 CST

具有可变 IP 的子域

  • 0

像http://3qax.munzer.webproxy.idc-lorien-apiver01-repay-action.bh-arppofind.comssets.mealcardhss-int-bh-awwppofind.wire.2.homeetingroom.walmartmobile.cn这样的子域呈现出一种行为,当我ping它(或traceroute它),IP不断变化。有时它是 Twitter 拥有的 IP,有时是 Facebook (31.13.80.1) 拥有的 IP,其他是 Dropbox (162.125.32.5) 拥有的 IP,有时无法解析为 IP。

这种行为背后的想法是什么?

subdomain ip ping traceroute
  • 1 个回答
  • 86 Views
Martin Hope
Evgeniy Pozdnyakov
Asked: 2021-06-30 06:53:13 +0800 CST

为什么具有不同参数的 traceroute 会产生不同的路由?

  • 0

我正在研究 traceroute 的工作原理,现在我感觉有点卡住了。

sudo traceroute -T aws.com
traceroute to aws.com (13.227.211.129), 30 hops max, 60 byte packets
 1  * * *
 2  100.64.0.103 (100.64.0.103)  0.546 ms 100.64.0.72 (100.64.0.72)  0.664 ms 100.64.0.33 (100.64.0.33)  0.650 ms
 3  130.193.63.248 (130.193.63.248)  3.796 ms  32.932 ms  3.887 ms
 4  mow-b4-link.ip.twelve99.net (62.115.170.18)  4.927 ms  4.866 ms  4.891 ms
 5  * * *
 6  adm-bb3-link.ip.twelve99.net (62.115.136.151)  43.684 ms  43.465 ms  43.854 ms
 7  adm-b2-link.ip.twelve99.net (80.91.253.163)  43.548 ms adm-b2-link.ip.twelve99.net (62.115.141.67)  43.077 ms adm-b2-link.ip.twelve99.net (80.91.253.163)  42.585 ms
 8  a100-ic314746-adm-b2.ip.twelve99-cust.net (62.115.146.67)  44.687 ms a100row-ic300134-adm-b2.ip.twelve99-cust.net (213.248.87.114)  48.243 ms  48.218 ms
 9  * 54.239.114.36 (54.239.114.36)  42.782 ms *
10  54.239.114.147 (54.239.114.147)  47.749 ms 54.239.114.65 (54.239.114.65)  41.303 ms 54.239.114.69 (54.239.114.69)  41.403 ms
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  150.222.249.245 (150.222.249.245)  42.581 ms 52.93.130.127 (52.93.130.127)  43.424 ms 54.239.42.203 (54.239.42.203)  42.566 ms
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  server-13-227-211-129.ams54.r.cloudfront.net (13.227.211.129)  45.159 ms  46.248 ms  49.153 ms

这些***啤酒花是什么?标有 *** 的每一跳都是独立的路由器吗?或者它可能会尝试到达同一个路由器几次,所以几个跃点将意味着同一个路由器,但我们永远不会知道?或者我的数据包可能会循环运行,例如,几个跃点可能是同一个路由器?

sudo traceroute -I aws.com
traceroute to aws.com (65.9.77.126), 30 hops max, 60 byte packets
 1  * * *
 2  100.64.0.73 (100.64.0.73)  0.494 ms  0.499 ms  0.494 ms
 3  130.193.63.248 (130.193.63.248)  3.903 ms  3.853 ms  3.847 ms
 4  mow-b4-link.ip.twelve99.net (62.115.170.18)  3.649 ms  3.701 ms  3.643 ms
 5  * * *
 6  adm-bb3-link.ip.twelve99.net (62.115.136.151)  43.460 ms  42.995 ms  42.980 ms
 7  adm-b2-link.ip.twelve99.net (213.155.137.211)  42.948 ms  42.850 ms  42.850 ms
 8  a100row-ic300134-adm-b2.ip.twelve99-cust.net (213.248.87.114)  51.693 ms  51.568 ms  51.557 ms
 9  54.239.114.84 (54.239.114.84)  46.527 ms  46.006 ms *
10  52.93.112.61 (52.93.112.61)  45.692 ms  45.704 ms  45.521 ms
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  65.9.77.126 (65.9.77.126)  45.380 ms  45.436 ms  45.392 ms

现在我添加了 -I 以使用 ICMP 数据包。为什么路线不一样?那个BGP有效吗?

networking traceroute
  • 2 个回答
  • 175 Views
Martin Hope
David Roonie
Asked: 2021-05-19 00:08:48 +0800 CST

当路由器发送 ICMP 协议错误消息时,它如何设置自己的 TTL?

  • 0

使用 (traceroute -q 1 serverAddress) 时,我们知道它从 TTL(Time to Live) = 1 开始。当它通过路由器时,路由器将 TTL 减 1。如果该路由器的 TTL 变为 0,它会发回 ICMP错误 TTL 超出消息。现在,告诉我,路由器会将错误消息发送回客户端(意味着我/我们)。现在路由器如何知道要设置什么 TTL。当我使用wireshark时,我收到了接收ICMP错误消息,显示初始TTL = 5的udp数据包的TTL = 64。路由器如何设置TTL?

networking udp icmp wireshark traceroute
  • 1 个回答
  • 31 Views
Martin Hope
Maslak
Asked: 2020-09-17 04:29:53 +0800 CST

traceroute 回答中的两个或多个主机

  • 3

嗨,我对我的一个公共 IP 的跟踪路由有奇怪的行为在一行中,我有多个主机名,其时序如下例所示,在第 5 行

traceroute to dns.abc.com (111.222.333.444), 30 hops max, 60 byte packets
1  router.example.com (192.168.0.1)  1.137 ms  0.712 ms  0.641 ms
2  * * *
3  * * *
4  212.2.102.1 (212.2.102.1)  39.234 ms  38.799 ms  38.762 ms
5  wawbal-i1-BE11.plusnet.pl (212.2.102.189)  45.306 ms pozche-i2-BE15.plusnet.pl (212.2.102.214)  38.787 ms  38.667 ms
6  wawbal-i2-BE12.plusnet.pl (212.2.102.210)  45.495 ms  35.135 ms  34.872 ms
7  xe-2-0-0-48.r5.isp-rs.thinx.atman.pl (212.91.0.13)  34.402 ms  39.241 ms  40.592 ms
......

有没有人见过这样的东西?这是什么意思?

非常感谢您的回答。米

linux networking wide-area-network internet traceroute
  • 1 个回答
  • 51 Views
Martin Hope
cmikeb1
Asked: 2020-05-22 14:20:27 +0800 CST

什么可能导致发送 TTL 为 64 的请求在连接到 traceroute 显示距离为 33 跳的目标 IP 时失败?

  • 2

从在 AWS ECS 上运行的 docker 容器(运行 ubuntu 18)中,我试图建立与外部数据中心的连接。我们已将问题解决到我们认为是本地 docker 网络添加的额外跃点导致故障的地方。支持这一点的事实是,从 docker 主机 EC2 实例成功完成对目标 IP 的 curl 请求,以及在部署到距离目标 IP 不到 33 跳的子网时从同一个 docker 容器内部完成。

traceroute <destination_ip>从容器内运行时,我看到 33 个跃点:

root@1cfbdf43c8f5:~# traceroute -m36 <destination_ip>
traceroute to <destination_ip> (<destination_ip>), 36 hops max, 60 byte packets
 1  ip-172-17-0-1.us-east-2.compute.internal (172.17.0.1)  0.039 ms  0.014 ms  0.013 ms
 2  ip-10-133-216-197.us-east-2.compute.internal (10.133.216.197)  1.185 ms  1.146 ms  1.107 ms
 3  ec2-52-15-0-157.us-east-2.compute.amazonaws.com (52.15.0.157)  8.188 ms ec2-52-15-0-169.us-east-2.compute.amazonaws.com (52.15.0.169)  5.615 ms ec2-52-15-0-161.us-east-2.compute.amazonaws.com (52.15.0.161)  10.227 ms
 ...
32  <destination_ip>  24.706 ms  24.584 ms  24.698 ms
33  <destination_ip>  24.411 ms  24.426 ms  24.323 ms

第一个跃点是 docker,第二个是 AWS NAT 网关,然后蜿蜒穿过 AWS 网络,最终到达第 33 个跃点。

在运行docker 的 EC2 主机上curl <destination_address>捕获时运行时,我看到请求因 ttl 而失败:tcpdump -v host <destination_ip>

ip-10-133-218-86.us-east-2.compute.internal > <destination_ip>: ICMP time exceeded in-transit, length 52

然而,同样的检查tcpdump显示请求在通过主机时的 TTL 为 63,表明它正确使用了 ubuntu 系统默认值 64:

Time to live: 63

我的问题是:什么可能导致发送 TTL 为 64 的请求无法连接到 traceroute 显示的目标 IP 仅 33 远?

在这一点上,我们的选择似乎是(1)减少源和目标之间的跳数,或者(2)增加传出请求的 TTL。

为了尝试做(2),增加 TTL,我尝试将 sys 属性更新/proc/sys/net/ipv4/ip_default_ttl=64为/proc/sys/net/ipv4/ip_default_ttl=128. tcpdump 检查显示在传出请求中这得到了尊重,但是调用仍然失败并显示ICMP time exceeded in-transit.

编辑 1

tcpdump从主机上 添加 Wireshark 屏幕抓取。来自 ec2 主机的 tcpdump

编辑 2

添加另一个 tcpdump,在卷曲同一主机时捕获,但来自我的本地计算机。 在此处输入图像描述

正如答案所指出的,[SYN,ACK] 响应的 TTL 太低,无法返回到发起请求的机器。在我在本地访问同一台服务器的图像中,您可以看到它比该服务器的任何其他响应少了大约 200 跳。

networking amazon-web-services ipv4 traceroute
  • 1 个回答
  • 549 Views
Martin Hope
elmimmo
Asked: 2019-07-27 13:53:49 +0800 CST

第一个 traceroute 跃点总是很慢。为什么?

  • 0

我局域网中的浏览器,无论使用什么设备,连接到互联网服务器的速度总是很慢,但连接后网页下载速度相当快。

Speedtest.net 报告了我称之为相当快的互联网连接速度。

Namebench 说我的«当前主 DNS 服务器是最快的»,并且确实dig obscuredomain.com几乎立即返回结果。

但是,Traceroute(在 macOS 上)总是有第一跳,无误地,系统地,超时返回* * *(大约需要 10 秒)。无论我尝试连接的服务器还是在同一范围内,第二个跃点都会显示一个始终相同的 IP(我现在和几天前都尝试过,我只能确认前两个数字是相同的;他们是前两个数字也与我自己的IP相同,顺便说一句)。

如果不是由于名称解析缓慢,第一跳总是超时意味着什么?

$ traceroute -n nausicaa.net
traceroute to nausicaa.net (184.173.122.226), 64 hops max, 52 byte packets
 1  * * *
 2  213.195.112.1  5.702 ms  5.957 ms  23.590 ms
 3  10.15.3.57  4.932 ms  5.974 ms  6.427 ms
 4  10.15.3.14  5.196 ms  5.508 ms  4.555 ms
 5  213.242.109.89  13.617 ms  13.325 ms  13.633 ms
 6  4.69.206.81  107.324 ms  106.877 ms  106.964 ms
 7  4.16.253.142  107.276 ms  107.191 ms  107.006 ms
 8  169.45.18.176  107.997 ms  118.783 ms  107.929 ms
 9  169.45.18.184  107.667 ms * *
10  * 50.97.17.165  126.468 ms *
11  * 50.97.17.162  138.171 ms *
12  50.97.17.57  140.740 ms  138.974 ms  139.650 ms
13  50.97.18.193  209.981 ms
    173.192.18.215  138.209 ms  139.719 ms
14  173.192.118.139  139.715 ms  139.320 ms
    173.192.118.141  262.584 ms
15  184.173.122.226  137.322 ms  139.245 ms  138.911 ms

$ traceroute -n -I nausicaa.net
traceroute to nausicaa.net (184.173.122.226), 64 hops max, 72 byte packets
 1  * * *
 2  213.195.112.1  6.703 ms  5.925 ms  4.782 ms
 3  10.15.3.57  4.776 ms  5.826 ms  5.343 ms
 4  10.15.3.14  5.395 ms  6.958 ms  5.077 ms
 5  * * *
 6  * * 4.69.206.81  105.994 ms
 7  4.16.253.142  106.591 ms  106.862 ms  115.811 ms
 8  169.45.18.176  110.287 ms  211.797 ms  108.709 ms
 9  169.45.18.184  109.032 ms *  109.376 ms
10  * * 50.97.17.165  126.383 ms
11  * * *
12  50.97.17.57  140.749 ms  138.998 ms  138.941 ms
13  173.192.18.215  250.969 ms  139.695 ms  146.931 ms
14  173.192.118.139  140.894 ms  186.317 ms  139.711 ms
15  184.173.122.226  140.457 ms  139.831 ms  140.058 ms

$ traceroute -n google.com
traceroute to google.com (216.58.214.174), 64 hops max, 52 byte packets
 1  * * *
 2  213.195.112.1  6.754 ms  10.904 ms  5.777 ms
 3  10.15.3.57  5.427 ms  5.135 ms  4.817 ms
 4  10.15.3.14  5.086 ms  4.932 ms  4.806 ms
 5  * * *
 6  4.68.111.46  14.354 ms  15.889 ms  19.699 ms
 7  74.125.242.161  14.783 ms
    74.125.242.177  16.940 ms
    74.125.242.161  15.619 ms
 8  172.253.50.73  14.632 ms  13.989 ms
    172.253.50.75  13.863 ms
 9  216.58.214.174  13.606 ms  13.634 ms  14.182 ms
traceroute
  • 1 个回答
  • 675 Views
Martin Hope
CodyBugstein
Asked: 2017-01-18 19:42:36 +0800 CST

为什么即使我将 DNS 设置更改为使用错误的名称服务器,tracert 仍然有效?

  • 1

在 Windows 的网络设置中,我将 DNS 设置设置为使用地址192.168.2.239和192.168.2.238. 这些都是不存在的 DNS 服务器。

如果我这样做,在 cmd 中

nslookup www.google.com

我明白了

    *** Can't find server name for address 192.168.2.239: Non-existent domain
DNS request timed out.
    timeout was 2 seconds.
*** Can't find server name for address 192.168.2.238: Timed out
*** Default servers are not available
Server:  UnKnown
Address:  192.168.2.239

Non-authoritative answer:
Name:    www.google.com
Addresses:  184.150.186.88, 184.150.186.84, 184.150.186.98, 184.150.186.103
          184.150.186.93, 184.150.186.113, 184.150.186.123, 184.150.186.109, 184
.150.186.108
          184.150.186.99, 184.150.186.119, 184.150.186.89, 184.150.186.114, 184.
150.186.118
          184.150.186.104, 184.150.186.94

此外,tracert正在工作。

我的问题是如何?如果没有可使用的 DNS,我的 ping 如何成功发送和取回消息?

Tracing route to www.google.com [170.100.15.22]
over a maximum of 30 hops:

  1    <1 ms    <1 ms    <1 ms  192.168.2.1
  2    13 ms    11 ms    11 ms  bas7........com [xx.xxx.xx
.60]
  3    11 ms    11 ms    11 ms  agg1-.....net......ca [64.230.38
.52]
  4    23 ms    23 ms    23 ms  core3-xxxxxxxx02_xe0-8-2-0_core.net.bell.ca [64.
230.170.245]
  5    22 ms    23 ms    23 ms  tcore4-newyorkaa_hundredgige0-5-0-0.net.bell.ca
[64.230.79.148]
  6    24 ms    21 ms    21 ms  bx8-newyork83_bundle-ether2.net.bell.ca [64.230.
79.175]
  7   190 ms   244 ms   191 ms  72.14.221.241
  8    22 ms    22 ms    21 ms  216.239.50.108
  9    23 ms    22 ms    22 ms  209.85.244.153
 10    97 ms    98 ms    98 ms  209.85.252.95
 11   106 ms   106 ms   106 ms  216.239.50.186
 12   190 ms   223 ms   206 ms  216.239.57.126
 13   125 ms   125 ms   125 ms  216.239.46.48
 14   121 ms   121 ms   122 ms  108.170.245.49
 15   123 ms   122 ms   122 ms  108.170.238.161
 16   123 ms   124 ms   123 ms  prg03s05-in-f4.1e100.net [172.217.23.196]

Trace complete.
windows domain-name-system internal-dns windows-command-prompt traceroute
  • 2 个回答
  • 1400 Views
Martin Hope
DatsunBing
Asked: 2016-12-30 21:54:14 +0800 CST

服务器如何跟踪到客户端的路由?

  • 3

我了解客户端如何跟踪到服务器的路由(使用 traceroute 或 tracert)。但是有没有办法让服务器跟踪到客户端的路由?

问题是我有一群住在偏远地区的互联网用户,他们抱怨他们的互联网访问速度很慢。我计划构建一些软件,使他们能够轻松地运行下载测试,然后存储结果。一旦我们收集了合理数量的数据,我们希望能够找到一种模式。

结合下载数据,拥有 traceroute 数据会很棒。如果不编写一些客户端软件,我无法从客户端启动它,这是我不想做的事情。因此,我试图找到一种收集路由信息但由服务器发起的机制。

我的偏好是使用 linux 服务器。

networking traceroute
  • 1 个回答
  • 1210 Views
Martin Hope
Magno Ferreira
Asked: 2016-12-28 06:35:39 +0800 CST

如何测试aws nat网关静态IP是否已启动?

  • 1

我在 VPC 的 Elastic Beanstalk 自动扩展组中启动了两个 EC2 实例。这些 EC2 实例上的应用程序需要连接到使用 IP 地址白名单允许访问的第三方服务。所以我使用 NAT 网关来拥有静态 IP,以便将它们添加到白名单中。第三方已经从我在 aws 控制台配置的两个 NAT 网关授予对 IP 的访问权限。但我还连接不上。在接受任何 IP 连接的开发环境中,应用程序运行正常。

有没有可能我使用了错误的 IP?我可以使用哪个命令来了解我的应用程序在互联网上获取的 IP?我做了从服务器到第三方服务的traceroute,它没有显示NAT Gatewa IP,对吗?

amazon-web-services amazon-vpc traceroute amazon-nat-gateway
  • 1 个回答
  • 2482 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve