
我想知道人們如何測試他們的網路連線是否安全。因此,如果我使用 ssh,我會被告知它是安全的。但我想驗證這一點,所以我嘗試使用tcpdump。下面是我使用的命令。
tcpdump port 22 -X
然後我得到了我不知道如何解釋的原始資料包。另外,我不確定這種方法是否正確。
此問題的另一個練習是使用 telnet。所以,我知道它不安全。但是當我嘗試執行以下命令時:
telnet <IP address> 3306
tcpdump port 3306 -X
tcpdump 輸出對我來說看起來也很神秘。
有什麼建議/意見嗎?
答案1
首先,我不以 root 身份運行,所以我必須使用 sudo。您可以在 Mac 上使用此命令查看資料包。
sudo tcpdump -i en0 -X -s 0 src host <server>
如果您無法讀取剛剛輸入到伺服器的內容,那麼它已被加密。我認為實際獲取數據並用密鑰解密超出了您在這裡找到的範圍。
答案2
我能提供的最好建議是學會閱讀您使用的工具的輸出。說真的,如果您不知道如何解釋 tcpdump 為什麼還要使用它?這是一個複雜的主題,但有很多書籍和文章可以教您如何閱讀數據。
為了讓自己的生活更輕鬆,您應該考慮使用 GUI 工具,例如Wireshark,它以大多數人認為更容易閱讀的格式呈現相同的訊息。
答案3
SSH 是加密且安全的,如果它認為有任何問題(或發生了變化),它會以非常明顯的方式向您發出警告。沒有加密密碼的 SSH 需要一個明確的命令列開關,當你這樣做時它會發出警告。
tcpdump 本身不會告訴您連接是否加密,您需要自己分析資料包。如果您覺得無法直接理解資料包,那麼 Wireshark 可以幫助您。
答案4
Wireshark 是可以幫助您的工具。將其安裝到您的電腦上並捕獲資料包幾分鐘,如果您可以看到資料包中的內容,則它已被解密。