Email 的發送時間可以偽造嗎?
01-13
就像這裡(http://group.bokee.com/group/subject.75.12169763181425355.html)所講:最後得到的郵件頭中只剩有Date: Tue, Mar 18 1997 14:36:14 PST這一個時間?那麼像平常咱們所用的郵箱,發送時間一項顯示的也就是這個吧?
這個時間來自發送客戶端,那麼豈不是可以隨意填寫?
可以偽造email發送時間,但是也有防偽技術存在。你需要了解下email的投遞方式,以及中間的存儲轉發過程。大致是這樣的:
email從發送者到收件者手中需要經過很多中轉站(mail transfer agent,MTA)。郵件的時間一個是寫在郵件內容裡面的,每個中轉站轉發給下一個中轉站時會打一個類似郵戳的頭部信息,記錄轉發時間等等。所以email發送時間,轉發時間,轉發伺服器等等都有記載。
如果想要偽造email發送時間,可以在最開始發送郵件時偽造,也可以在中間轉發時候偽造。前一種方式沒有什麼辦法防偽,後面一種辦法會有類似校驗碼的東西保證郵件內容不會被中轉站修改。簡單的說,如果你會自己寫mail agent等郵件客戶端的話,可以隨便改時間,如果不會,也許修改機器時間可以辦到。如果你使用 SMTP 協議發信,可以。
原因:Date 欄位是由 Mail 客戶端生成並通過 SMTP 協議傳遞到 Mail 伺服器,再由伺服器進行投遞。
簡易方法/hack:修改你本機時間,發送完成後再改回來就可以了。
進階/「正確」的方法:郵件本身(包括頭信息和 body)是純文本的,如果你知道如何修改頭信息,那麼郵件在本機被開始投遞前修改 Date 欄位就可以了。對於伺服器遞交出去的貌似是無法修改的,能解決的是,除了伺服器提交的received的,其他的received可以全部擦除,也可隨意偽造
我記得ms郵件頭信息會暴露一切吧,你總不能把所有的rely信息都改掉不是?
嗯,這個和 From 欄位不一樣嗎?不過任意修改時間,會不會被拒發就不知道了。
除了 Date 之外,一封郵件還有眾多的 Received,其中也包含時間的。推薦閱讀:
※在國內用什麼郵件服務發送郵件最好?
※郵件客戶端有必要嗎?
※寫匿名郵件最好用哪個郵箱?就是對方收到郵件後卻查不到發件者。
※第一封套磁信應該怎麼寫?
※英文郵件怎麼排版?
TAG:電子郵件 |