Ho lavorato su come trovare l'uso di messaggistica online (ad es. imo.im, ebuddy) usando Wireshark. Sto facendo, poiché ho bisogno di creare casi d'uso SIEM (gestione delle informazioni sulla sicurezza) che rilevano l'utilizzo di web-messenger online.
Per fare un po 'di ricerca, sono andato su qualche web-messenger online e ho acceso il Wireshark sullo sfondo. Dopo un paio di minuti di navigazione nei siti di messaggistica online, ho fermato il Wireshark e sono andato dritto all'analisi. All'inizio, non ho trovato nulla di speciale / unico che mi dica (come utente) un servizio / protocollo di messaggistica online che ho usato poiché tutti questi siti funzionano su http o https.
Tuttavia, mentre approfondisco trovo qualcosa di interessante. Di seguito il riferimento:
Hypertext Transfer Protocol
HTTP/1.1 200 OK\r\n
**[Expert Info (Chat/Sequence): HTTP/1.1 200 OK\r\n]**
[Message: HTTP/1.1 200 OK\r\n]
[Severity level: Chat]
[Group: Sequence]
Request Version: HTTP/1.1
Status Code: 200
Response Phrase: OK
Content-Encoding: gzip\r\n
Cache-Control: max-age=10800\r\n
Content-Type: text/html; charset=utf-8\r\n
Date: Thu, 24 Jan 2013 17:58:46 GMT\r\n
Expires: Thu, 24 Jan 2013 20:58:46 GMT\r\n
Last-Modified: Thu, 24 Jan 2013 01:07:06 GMT\r\n
p3p: CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"\r\n
Server: ECS (fra/D439)\r\n
SVR: SP002B7\r\n
Vary: Accept-Encoding\r\n
X-Cache: HIT\r\n
Content-Length: 387\r\n
\r\n
Content-encoded entity body (gzip): 387 bytes -> 942 bytes
Line-based text data: text/html
Ho cercato il codice src e oltre la dichiarazione costante di PI_CHAT
nel file di intestazione expert.c
. Se seguo il codice in packet-http.c
, vedo il seguente codice.
saw_req_resp_or_header = TRUE;
if (is_request_or_reply) {
char *text = tvb_format_text(tvb, offset, next_offset - offset);
if (tree) {
hdr_item = proto_tree_add_text(http_tree, tvb,
offset, next_offset - offset, "%s", text);
}
expert_add_info_format(pinfo, hdr_item, PI_SEQUENCE, PI_CHAT, "%s", text);
if (reqresp_dissector) {
if (tree) req_tree = proto_item_add_subtree(hdr_item, ett_http_request);
else req_tree = NULL;
reqresp_dissector(tvb, req_tree, offset, line,
lineend, conv_data);
Dal codice sopra è difficile comprendere quali condizioni o input portano la variabile PI_CHAT
da impostare. Accanto al codice, se qualcuno può spiegare in termini di teoria su come Wireshark rileva il comportamento in chat. La teoria che ho letto sui siti ufficiali di Wireshark dice che le informazioni degli esperti sono per rilevare i cambiamenti che sono anormali / anomali in natura. Sono più interessato a conoscere la parte "come".