今天在調試一個客戶郵件服務器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。郵件服務器端的截圖
圖中紅色圈中可以看到,mail from指令和rcpt to指令服務器都正確的返回了250 OK
但是在隨后藍色圈中突然不斷收到rst中斷連接。
2。本地客戶端的截圖
圖中紅色圈中可以看到,服務器返回的信息由250 OK被替換成了"551 User not local; please try [forward-path]"。
隨后又是一堆的Rst中斷連接。
注意,藍色圈中是服務器的真正返回,但是這時候連接已經中斷,沒有意義了。
3。很明顯,雙方的連接在通訊途中被干預了。更能證明這一點的一個例子是ttl值的變化。
正常情況下服務器返回信息Ip包頭中的ttl值是48,大約經過了16跳。
而"551 User not local; please try [forward-path]"這條消息的ttl值是50,發生什么事情已經很明顯了。。
在google上可以搜索到很多關于551錯誤的例子,從大家的評論來看,這件事情多半是gfw干的了。
只是我不太明白的是,gfw管這個做什么,出于什么目的?:em12:
補充:根據iceblood的提醒,我檢查了一下郵件服務器,果然是放在國外的。
看來郵件服務器放在國外,使用smtp自己給自己發信就會報錯。[@more@]
本文標題:截圖分析傳說中gfw造成的551Usernotlocal錯誤(轉)-創新互聯
鏈接地址:http://vcdvsql.cn/article44/dehoee.html
成都網站建設公司_創新互聯,為您提供網站制作、小程序開發、做網站、手機網站建設、移動網站建設、企業建站
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯