补全:切一行

补全 parse_line(line):default 换成 0.0.0.0/0;via / dev / metric 各取后面那个词;没有的 via 是 None、metric 是 0。

开始练习 →

补全:整张表

补全 parse_table(text):逐行 parse_line,交回列表。再数几行直连、几行有下一跳。

开始练习 →

补全:自己写一个 route get

(每道题开头都有同一段:net_02 的 to_int / mask、判「前缀是否包含地址」的 contains,和本机的路由表 ROUTES——每行 (前缀, 下一跳或 None 表示直连, 接口, 度量)。) 补全 route_get(

开始练习 →

补全:两张表差在哪

补全 diff(before, after):交回「新增的前缀」和「删掉的前缀」两个列表(按前缀比)。改动:删了默认路由、加了一条 172.16.0.0/16。

开始练习 →

真机上先看什么

拿到一台机器要弄清「它的包往哪儿发」。第一条该敲的命令是【0】。

开始练习 →

从 ip route 的一行里抠出下一跳

真机上 ip route 的一行长这样:10.20.0.0/16 via 192.168.37.253 dev eth0 metric 100。要在脚本里取出前缀和下一跳,先在这里练: line = "10.20.0.0/16 v

开始练习 →

那台机器的默认网关

场景:~/机器A.txt 是另一台机器上 ip route 的输出。对照表列了八个地址。 任务:找出机器 A 的默认网关(去任何没有更具体路由的目标时交给谁),到对照表里查它对应的标记。 可操作范围:只在分给你的这台实验机上操作。可以改家目

开始练习 →

去这个地址交给谁

场景:~/机器A.txt 是机器 A 的路由表;说明里给了一个目标地址。对照表列了八个地址。 任务:按机器 A 的表,算出去那个目标时的下一跳地址,到对照表里查它对应的标记。⚠️ 表里有好几行都包含它。 可操作范围:只在分给你的这台实验机上

开始练习 →

几行要交给别人

场景:~/机器A.txt 是机器 A 的路由表。对照表列了八个数。 任务:数一数表里有几行是「交给下一跳」的(有 via 的),到对照表里查这个数对应的标记。 可操作范围:只在分给你的这台实验机上操作。可以改家目录里的任何东西,不要动系统目

开始练习 →

实验机自己的两张表

场景:实验机只有回环接口。除了主表,系统还有一张 local 表。对照表列了八个「主表条数/local表条数」。 任务:用 ip route 看主表有几行,再用 ip route show table local 看 local 表有几行,

开始练习 →