127.0.0.1 串通投标,原以为是个笑话,没想到深挖一下背后还有故事...
最近在网上冲浪的时候,看到一条消息,大概内容就是某地官方发文,通报说有一个招投标的项目,经过解析投标文件的制作 IP 地址,发现有几家公司是一样,所以官方怀疑他们串通投标。
听起来是一个正常的“不良行为记录告知书”,除了当事人和圈子里面的利益相关的人会注意到外,不相关的人应该不会对这个感兴趣才对。
但是还是在网上引起了讨论,特别是我们 IT 圈子里面讨论的最多,因为告知书里面是这样写的:
投标文件 IP 地址一致,均为 127.0.0.1
看到这个消息的第一反应,和大多数吃瓜网友的反应是一样的:官方这错误犯的太低级了,这篇公告从写出来到审核,中间过了这么多人,都没有一个人知道 127.0.0.1 是一个常见本地地址吗?
我寻思信息茧房已经这么严重了吗?
网友把这个公告喂给 GPT,甚至 GPT 都觉得“荒谬”:
然后,很快这个消息就被我刷过去了。
这个消息从突然出现在我眼前,到我看完,找到笑点,然后开启嘲讽,最后无情离开,大概也只是花了十几秒的时间。
在手指不同的“刷刷刷”之后,这个信息就像是那些学过的知识一样,穿过大脑,却不留下一丝痕迹。
但是昨天我又在知乎上看到这个问题了,因为创建这个问题的人邀请我去回答这个问题:
https://www.zhihu.com/question/655664715
招投标的事情,我也不懂这些玩意啊,所以我没回答。但是我看了其他的回答,通过这些回答我看到了另外一个可能性,我觉得有点意思了。
甚至觉得自己前几天的嘲讽显得有点年轻。
我带大家来梳理一下。
首先,网友找到了这个“招投标项目”的官方信息。
https://ggzy.haikou.gov.cn/news/detailPro/36_44_65476
从官方的信息可以看出这个项目一共有 17 家参加了投标,大家的报价在 2400w+ 左右,公告中的 5 家均在列表中:
稍微了解了这个背景之后,就确实会略微觉得有一丝丝奇怪,为什么 17 家投标,走的是同样的流程,用的是同样的软件,就 5 家的标书出现了 127.0.0.1 这样的异常地址呢?
首先,我们要明确一下这个 IP 是在什么环节产生的。
根据官方的招标公告推测,制作标书需要用一个官方的软件进行制作,在使用这个软件的时候,软件会记录当前运行该软件的电脑的 IP 地址、MAC 地址、设备序列号等相关特征码信息,把这些信息和标书关联起来。
通过这些特征码的记录,至少可以规避在同一个电脑上制作同一个项目的不同标书的违规行为。
所以这里的这个 IP 地址,应该是在制作投标文件的时候写入到投标文件的。
在官方的公告里面也明确提到了“必须使用最新版本的电子投标工具”来制作标书:
也就是说 IP 地址都是这个“电子投标工具”获取到的。
但是如果是“电子投标工具”这个系统的问题,那么理论上应该大家都是 127.0.0.1 才对。
现在其他家的数据正确,至少说明系统是正常的。
或者换句话说:现在出现了异常数据,同时也有正常数据来佐证验标书的系统是正常运行的。
作为程序猿,遇到这个现象的时候,口头禅都是:卧槽,用(S)户(B)是不是用错了啊?是不是环境有问题?有没有清缓存?有没有重启过?
但是实际内心的想法都是:
那么到底是不是 BUG 呢,还真有大佬朝这个方向去挖掘了。
https://www.zhihu.com/question/655664715/answer/3496103428
在这个回答中,提到了微博用户 @xslidian 通过反编译“电子投标工具”的 .net dll 文件找到了对应获取 IP 的逻辑。
我也特地去微博找到了这个大佬:
在他的评论中给了这样一份 C# 代码:
从代码来看,如果网卡中找不到 IP,会通过 DNS 反解析主机名获取。
而从下面这个代码来看,必须要有 IP 才能生成标书:
那么有没有办法能让获取到的 IP 变成 127.0.0.1 呢?
答主经过论证,发现是通过断网的方式是可以达到这个效果,但是后续有代码逻辑检查使用该软件的时候是否有网络连接。
反正就是走了一些弯路后,经过网友点拨发现一个可以稳定获取到 127.0.0.1 的方式:
也就是说要达到这个效果,必须要在网络设置里面把“Internet协议版本 4(TCP/IPv4)”取消。
到这里,我们至少知道了在某个特定的情况下,官方的这个“电子投标工具”确实是有可能获取到“127.0.0.1”这个极其特殊的地址的。
在我看来,这应该属于系统的一个 BUG。
那么公告中的这五家到底是一不小心遇到了 BUG,还是说故意卡了 BUG 呢?
至于这个问题,站在投标方的角度,那肯定是要表现出“一脸懵逼,十分诧异”的样子。
但是我们可以脑补一下,万一他们真的是卡 BUG 来围标的呢?
甚至我们还可以腹黑一下,他们是怎么知道这个 BUG 的呢?写这个程序的人是不是故意留下了这个 BUG 呢?这个人是不是就是利益集团里面的人呢?
...
不能再想了,就上面这些都已经够拍二十集了。
当然了,上面写的所有的东西,也都只是网友的猜测而已,完全有可能在真实的情况下获取到 127.0.0.1 这个地址的方式和网友说的完全不一样。
这个事情,完全有可能是乌龙,也完全有可能是东窗事发。
反正这个玩意吧,一旦牵扯到具体的人,牵扯到一些利益集团,那就很不好说了。
至少经过这一波分析,这五家确实有“嫌疑”,需要对“踩 BUG”还是“卡 BUG”进行解释。
而且这个官方公告也写的不好,只说了这五家 127.0.0.1 的事儿,让大家有了想象的空间。
就像知乎网友说的,应该提一下其他几家,以表示这是异常情况,比如这样:
你单位投标地址为 127.0.0.1,与其他正常投标单位正确获取的 IP 格式存在显著差异,推定你单位使用了技术手段隐瞒 IP 采集。
如果你非要问清楚这里面到底是怎么回事。
那我只能告诉你作为一个程序猿,站在技术角度吃吃瓜就行了,有些事情不要细问。
再问,就不礼貌了!
- EOF -
关注「程序员的那些事」加星标,不错过圈内事
点赞和在看就是最大的支持❤️
微信扫码关注该文公众号作者