簡體   English   中英

使用客戶端問候消息進行TLS協議檢測

[英]TLS protocol detection by using client hello message

我需要檢測網絡流量中的https數據包。 直到現在,我都將所有“ 443”標記為https,但在這種情況下,我不再想要使用端口信息。

檢查客戶端問候消息是否足夠:

//Check 22 and version info 0300 0301 or 0302
if (packet->payload[0] == 0x16 && packet->payload[1] == 0x03
  && (packet->payload[2] == 0x00 || packet->payload[2] == 0x01 || packet->payload[2] == 0x02)

{
    int temp = ntohs(get_u16(packet->payload, 3)) + 5;//Get lenght 
    //Check lenght is valid and 6th byte is client hello(which is 1)
    if (temp < packet->payload_length && temp > 50 && packet->payload[5]) == 1) 
        MARK AS HTTPS 
}

由於我的項目設計,我最多只能檢查一個數據包。 您能否建議僅檢查客戶端問候是否還可以?

由於我的項目設計,我不能檢查多個包。 您能否建議僅檢查客戶端問候是否還可以?

我假設您的意思是“包”而不是“包”。 鑒於我們在這里使用TCP,因此能夠重組碎片消息至關重要。 只要您擁有僅對單個數據包進行操作的工具,就無法期望(在100%的時間內)可靠地檢測到比單個字節長的消息內容。 那是因為TCP發送器將字節一一滴地運給您是完全合法的...所以您需要做好重新組裝它們的准備,否則您會丟失一些信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM