温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

截图分析传说中gfw造成的551 User not local错误(转)

发布时间:2020-08-07 08:51:31 来源:ITPUB博客 阅读:237 作者:rainytag 栏目:编程语言
今天在调试一个客户邮件服务器postfix的时候遇到了传说中的551错误("551 User not local; please try [forward-path]")
错误现象是这样的,用户采用smtp认证的方式自己给自己的邮箱发信,outlook或者foxmail会报551错误或者直接报未知错误。
而如果给别的信箱发信就不会有问题,在本机采用webmail发信也很正常。
很快就可以排除是postfix邮件系统的问题,因为我登录到服务器上采用telnet手工smtp认证发信没有任何问题。
那么问题一定出现在通往邮件服务器的路由中,只能通过抓包分析了。

我在我的本机采用wireshark抓包
同时邮件服务器采用tcpdump -w packet tcp port 25将数据包保存为文件packet
然后我在本机通过smtp发信,重复错误现象,然后将两边抓到的包用wireshark分析,结果果然不出所料。

先看截图(ip地址和邮箱域名等已经被处理掉)
1。邮件服务器端的截图

截图分析传说中gfw造成的551 User not local错误(转)

图中红色圈中可以看到,mail from指令和rcpt to指令服务器都正确的返回了250 OK
但是在随后蓝色圈中突然不断收到rst中断连接。

2。本地客户端的截图
截图分析传说中gfw造成的551 User not local错误(转)

图中红色圈中可以看到,服务器返回的信息由250 OK被替换成了"551 User not local; please try [forward-path]"。
随后又是一堆的Rst中断连接。
注意,蓝色圈中是服务器的真正返回,但是这时候连接已经中断,没有意义了。

3。很明显,双方的连接在通讯途中被干预了。更能证明这一点的一个例子是ttl值的变化。
截图分析传说中gfw造成的551 User not local错误(转)

正常情况下服务器返回信息Ip包头中的ttl值是48,大约经过了16跳。
而"551 User not local; please try [forward-path]"这条消息的ttl值是50,发生什么事情已经很明显了。。

截图分析传说中gfw造成的551 User not local错误(转)

在google上可以搜索到很多关于551错误的例子,从大家的评论来看,这件事情多半是gfw干的了。
只是我不太明白的是,gfw管这个做什么,出于什么目的?:em12:

补充:根据iceblood的提醒,我检查了一下邮件服务器,果然是放在国外的。
看来邮件服务器放在国外,使用smtp自己给自己发信就会报错。
[@more@]
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI