粘一行日志,查不出结果

运维群里有人发来一行访问日志,问这个 IP 是哪里的。我照着粘进查询框,提示格式不对。

那行里带着时间戳、方括号、请求路径,根本不是一段地址。那次还被同事笑了一句:这工具不行吧。

三种最常见的杂质

这三种占了我遇到的大半,记住就够用,剩下的多半是空格和全角符号,中文输入法下打出来的点和英文的不是一个字符。

协议:开头的 http:// 或 https://,留着就查不了,肉眼看着像地址,其实不是。

端口:冒号后面的 8080、443,属于连接参数,不是地址的一部分,切掉它不影响归属查询。

路径:斜杠之后的目录和参数,跟 IP 归属没有关系,长链接尤其容易整段粘过来。

IP 查询:归属地、运营商与网络属性

IP 查询:归属地、运营商与网络属性

日志里的附加项

日志是给人看的,不是给查询框看的,中间那层转换要自己做,写个小脚本批量清洗也值得,日志一多就看出价值了。

时间戳、引号、方括号、状态码,经常和 IP 粘在一起,中间还可能夹着制表符。

有的是两个字段连在一起,中间只有空格,复制时看不出差别,粘进去才知道错。

复制前先看一眼,别整段拖过去,慢一秒省十分钟。

两个例外

遇到这两种,换工具比改输入省事,别在一个框里死磕。

IPv6 地址带冒号和方括号,这个查询页只支持 IPv4,得换 IPv6 工具页,别在这里硬试。

域名不是 IP,先用解析工具拿到地址,或者直接查域名相关的检测,两种输入不要混。

清洗四步

这四步可以背下来,三十秒能做完,比反复试错快得多。

去掉协议,去掉端口,去掉路径,去掉首尾的空格和标点,这四步做完基本就干净了。

剩下的应该是四段数字,中间三个点,每段都在 0 到 255 之间,超出就是抄错了。

用宝塔拨测的 IP 查询查一次,能返回归属地、运营商、地址类型和网段,就说明输入干净了。

清完之后再拨测

查询只回答归属,拨测才回答可用,两个问题分开问,答案才不打架。

查到归属地和运营商,只解决「这是谁家的地址」,解决不了「现在通不通」。

还要用多节点拨测看这个地址对应的服务通不通:状态码、分段耗时、平均与最慢节点、按运营商分组的表现。

输入对了,结论才有根;输入错了,后面每一步都在给错误答案找证据。

清洗输入这一步,谁做谁知道,做熟了就是几秒钟的事,做不熟就得多花半小时。

这一步省不得。

粘之前先看一眼,能省很多来回。