我一直试图禁止 iptables 中以 047 开头的 IP 地址,但它会将其更改为 039。
iptables -v -w -I INPUT 1 -s 047.75.162.122 -j DROP
但是IP地址将被禁止为39.75.162.122!
你认为为什么会这样?
我一直试图禁止 iptables 中以 047 开头的 IP 地址,但它会将其更改为 039。
iptables -v -w -I INPUT 1 -s 047.75.162.122 -j DROP
但是IP地址将被禁止为39.75.162.122!
你认为为什么会这样?
这是正在发生的事情:
047
八进制是39
十进制。您只需要删除领先的
0
.猜测一下,这是因为 iptables 中的某些东西将 IPv4 地址拆分为 4 个十进制数字,因此它可以将 IP 字符串表示形式转换为长整数。但那是猜想。
inet_aton
还接受其他一些不太常见的形式(手册实际上甚至描述了它们):他们也可能在网络浏览器上工作。
用零作为八进制数的前缀,用 16 进制数作为前缀
0x
至少与 C 语言一样古老。