我正在编写一个脚本来从 BusyBox v1.25.1/Linux 2.6.36/router 中提取信息,用户可以在其中简单地运行脚本并将输出复制/粘贴到提交表单中以请求支持。该脚本本质上是一个命令列表,如route
、ifconfig
等。由于busybox 的含义,我仅限于/bin/sh。
我正在尝试找到一种智能方法来仅从输出中自动屏蔽所有公共 IP 地址。替换完整的 IP 已经很好了,但是如果可能的话,我会在每个命令(甚至是内部函数)的末尾寻找一个管道命令来简单地替换前两个八位字节
80.80.80.80
,
例如XX.XX.80.80
一个不错的功能是替换相同数量的数字以尽可能保留格式。例如
8.8.8.8=X.X.X.X
80.80.8.8=XX.XX.X.X
180.180.80.8=XXX.XXX.XX.X
实际例子:
root@router:/proc# route | filtering-goes-here
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
XX.XX.168.1 * 255.255.255.255 UH 0 0 0 vlan2
172.16.9.0 * 255.255.255.0 U 0 0 0 br1
10.10.9.0 * 255.255.255.0 U 0 0 0 br0
10.114.126.0 * 255.255.254.0 U 0 0 0 tun11
XX.XX.168.0 * 255.255.252.0 U 0 0 0 vlan2
10.10.0.0 * 255.255.0.0 U 0 0 0 tinc
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default cpc86269 0.0.0.0 UG 0 0 0 vlan2
谢谢!!