2017-04-10 87 views
0

確認所以我有一個Android應用程序和我自己的Web服務器(其中有TLS 1.0,TLS 1.1和TLS 1.2)的支持開啓。我們正在計劃應用程序升級,我們試圖強制應用程序和服務器之間的安全連接使用TLS 1.2。如何,如果Android應用程序和服務器實際使用TLS 1.2

請注意,我知道,TLS 1.2默認情況下,在運行Android Lollipop(API級別21)運行的事實以後,由於某種原因,從API級別16-19默認不啓用。我在我的應用程序中進行了更改。這很好。

我的問題是如何測試和保證應用程序和服務器確實使用TLS1.2。我在互聯網上搜索並找到了如何在瀏覽器上看到相同信息的方法。

+0

如果你擁有可以調試使用tcpdump(服務器端),並使用Wireshark分析它們 – Gabrio

+0

是的,我自己的服務器應用程序的網絡行爲記錄信息包的服務器。你能更清楚地描述你的建議或將我指向一個來源嗎? – Dibzmania

回答

1

你曾經與Wireshark練? 它是一個網絡分析儀,它可以用來記錄數據包並對它們進行分析,如果您的應用程序使用了清晰的或加密的通信,則可以看穿它。 我認爲這是一個非常好的技能,擁有。

存在大量的材料,以便用它來練習,我掛你的鏈接的文檔。

如果您從服務器記錄了一些數據包,您將能夠在Protocol列下閱讀,如果您的應用程序使用TLS1.2並查找更多詳細信息。

爲了從你的服務器記錄數據包,您需要使用tcpdump的:

tcpdump -i <interface> -s 65535 -w <some-file> 

哪裏是文件的名稱,tipically .pcap,你將轉移到客戶端,與SCP或類似的東西如果您的應用使用TLS1.2將各行上Protocol列涉及您的應用程序通信下顯示

wireshark <some-file> 

:以使用Wireshark打字分析從終端。

編輯: 您可以使用過濾tcp.port==<USED_PORT>其中<USED_PORT>在這種情況下是「8391」在Wireshark來篩選和分析只有你感興趣的包。如果連接是加密的,你可以找個地方SSL握手之後。它發生加密連接。 如果連接未加密,您可能會清楚地讀取傳入的數據。如果你可以發佈一個pcap文件,我可以告訴你連接是否加密。

EDIT1: 如果您確定連接已加密,則可以使用過濾器tcp.port==8391 && ssl檢查TLS的使用版本。 您需要分析的是傳輸Application Data數據包,如果在出現Secure Socket LayerVersion: TLS 1.2您使用的是正確的加密。

find the TLS version

+0

我已經使用wireshark,但主要是在其他人(可能是QA或網站團隊)已經生成.pcap文件的環境中。我想了解你的方法,現在我明白了。我正在嘗試設備本身的方法(使用數據包捕獲VPN),它將爲我生成.pcap文件。讓我試試看看它是如何發展的。 – Dibzmania

+0

它應該工作,讓我知道。 :) – Gabrio

+0

在我的情況下,'協議'列顯示'TCP',據我所知在TCP/IP套件中的較低層。這是否意味着wireshark無法從數據包或端口信息中找出傳輸層協議。 (我相信SSL/TLS將介於傳輸和應用層之間)。注意:我們對所有安全數據傳輸(https)使用奇數端口號「8391」。這可能是原因 – Dibzmania

相關問題