How to Debug/Monitor SMTP Communications?

时光总嘲笑我的痴心妄想 提交于 2019-12-08 15:00:32

问题


Debug HTTP is easy, you have all sort of tools to do it (like Fiddler). What about SMTP?

How to Debug SMTP Communications?

My target system is Windows.


Suggested tools:

  • Ethereal
  • tcpdump
  • Microsoft Network Monitor

回答1:


Try Ethereal - its a free network protocol analyzer.

The SMTP protocol is all ascii, so once you see whats inside the TCP connection, you should be good to go.

It will take a bit of work learning how to use Ethereal.




回答2:


For the two people who responded with Ethereal: We renamed the project to Wireshark (http://www.wireshark.org) back in 2006 due to trademark issues. I strongly recommend upgrading.

Depending on your exact issue, Wireshark's Follow TCP Stream feature is pretty useful for debugging Internet Message protocols, including SMTP.




回答3:


How to capture emails with Wireshark:

  1. Get wireshark -> Install
  2. Into filter enter smtp click Apply

  3. When you get filtered lines click right mouse button on one of them and select 'Follow TCP stream'. You should get window like following

  4. (OPTIONAL) If you want to inspect contents of email that are base64 encoded Copy part that looks like gibberish into one of base64 to text converters, there are plenty online. You should get readable text that was sent.

Hope this saves you some time.




回答4:


smtp-cli is good for this. From the homepage:

smtp-cli is a powerful SMTP command line client with a support for advanced features, such as STARTTLS, SMTP-AUTH, or IPv6

In addition to being a full-featured client, its --verbose option makes it the tool I think you're looking for to track down SMTP issues (like, for instance, why a server is rejecting a given to: address, which is how I found the tool :-) )

Again from the homepage:

It's also a convenient tool for testing and debugging SMTP servers' setups. Even the hardcore mail admins used to typing the SMTP protocol over telnet need a specialised tool when it comes to verifying encryption settings of their TLS enabled server with a subsequent user authentication. Such things are pretty hard to type into a telnet session by hand :-)




回答5:


Use tools like ethereal (www.ethereal.com) or tcpdump (www.tcpdump.org), if you want to see the SMTP traffic.

If you like to check your server for compliance with relaying standards, do a


telnet relay-test.mail-abuse.org

from your SMTP server and it checks your server for relaying vulnerabilities.




回答6:


You can use a SMTP development server, like Neptune or Antix. Both work the same way: they create a "fake" SMTP server in your machine so you can test your e-mail sending methods, without actually sending the messages they receive.



来源:https://stackoverflow.com/questions/883163/how-to-debug-monitor-smtp-communications

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!