Skip to content

Commit

Permalink
Update flow->flow_multimedia_types to a bitmask
Browse files Browse the repository at this point in the history
In the same flow, we can have multiple multimedia types
  • Loading branch information
IvanNardi committed Nov 19, 2024
1 parent c5bd9d8 commit 0d853d5
Show file tree
Hide file tree
Showing 16 changed files with 61 additions and 66 deletions.
29 changes: 11 additions & 18 deletions example/ndpiReader.c
Original file line number Diff line number Diff line change
Expand Up @@ -1810,25 +1810,18 @@ static void printFlow(u_int32_t id, struct ndpi_flow_info *flow, u_int16_t threa
ndpi_get_proto_name(ndpi_thread_info[thread_id].workflow->ndpi_struct,
flow->detected_protocol.protocol_by_ip));

if(flow->multimedia_flow_type != ndpi_multimedia_unknown_flow) {
const char *content;
if(flow->multimedia_flow_types != ndpi_multimedia_unknown_flow) {
char content[64] = {0};
int content_len = 0;

switch(flow->multimedia_flow_type) {
case ndpi_multimedia_audio_flow:
content = "Audio";
break;

case ndpi_multimedia_video_flow:
content = "Video";
break;

case ndpi_multimedia_screen_sharing_flow:
content = "Screen Sharing";
break;

default:
content = "???";
break;
if(flow->multimedia_flow_types & ndpi_multimedia_audio_flow) {
content_len += snprintf(content + content_len, sizeof(content) - content_len, "%sAudio", content_len > 0 ? ", " : "");
}
if(flow->multimedia_flow_types & ndpi_multimedia_video_flow) {
content_len += snprintf(content + content_len, sizeof(content) - content_len, "%sVideo", content_len > 0 ? ", " : "");
}
if(flow->multimedia_flow_types & ndpi_multimedia_screen_sharing_flow) {
content_len += snprintf(content + content_len, sizeof(content) - content_len, "%sScreen Sharing", content_len > 0 ? ", " : "");
}

fprintf(out, "[Stream Content: %s]", content);
Expand Down
4 changes: 3 additions & 1 deletion example/reader_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -1198,6 +1198,8 @@ static void process_ndpi_monitoring_info(struct ndpi_flow_info *flow) {
add_to_address_port_list(&flow->stun.peer_address, &flow->ndpi_flow->monit->protos.dtls_stun_rtp.peer_address);
add_to_address_port_list(&flow->stun.relayed_address, &flow->ndpi_flow->monit->protos.dtls_stun_rtp.relayed_address);
add_to_address_port_list(&flow->stun.response_origin, &flow->ndpi_flow->monit->protos.dtls_stun_rtp.response_origin);

flow->multimedia_flow_types |= flow->ndpi_flow->flow_multimedia_types;
}

}
Expand Down Expand Up @@ -1607,7 +1609,7 @@ void process_ndpi_collected_info(struct ndpi_workflow * workflow, struct ndpi_fl
add_to_address_port_list(&flow->stun.other_address, &flow->ndpi_flow->stun.other_address);
}

flow->multimedia_flow_type = flow->ndpi_flow->flow_multimedia_type;
flow->multimedia_flow_types |= flow->ndpi_flow->flow_multimedia_types;

if(flow->ndpi_flow->tcp.fingerprint) {
char buf[128];
Expand Down
2 changes: 1 addition & 1 deletion example/reader_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -333,7 +333,7 @@ typedef struct ndpi_flow_info {
char geolocation_iata_code[4];
} dns;

ndpi_multimedia_flow_type multimedia_flow_type;
ndpi_multimedia_flow_type multimedia_flow_types;

void *src_id, *dst_id;
char *tcp_fingerprint;
Expand Down
10 changes: 5 additions & 5 deletions src/include/ndpi_typedefs.h
Original file line number Diff line number Diff line change
Expand Up @@ -72,10 +72,10 @@ typedef enum {
} ndpi_log_level_t;

typedef enum {
ndpi_multimedia_unknown_flow = 0,
ndpi_multimedia_audio_flow,
ndpi_multimedia_video_flow,
ndpi_multimedia_screen_sharing_flow,
ndpi_multimedia_unknown_flow = 0x00,
ndpi_multimedia_audio_flow = 0x01,
ndpi_multimedia_video_flow = 0x02,
ndpi_multimedia_screen_sharing_flow = 0x04,
} ndpi_multimedia_flow_type;

typedef enum {
Expand Down Expand Up @@ -1358,7 +1358,7 @@ struct ndpi_flow_struct {
char *username, *password;
} http;

ndpi_multimedia_flow_type flow_multimedia_type;
ndpi_multimedia_flow_type flow_multimedia_types;

/*
Put outside of the union to avoid issues in case the protocol
Expand Down
8 changes: 4 additions & 4 deletions src/lib/ndpi_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -7728,13 +7728,13 @@ static int ndpi_reconcile_msteams_call_udp_port(struct ndpi_flow_struct *flow,
*/

if((dport == 3478) || (dport == 3479) || ((sport >= 50000) && (sport <= 50019)))
flow->flow_multimedia_type = ndpi_multimedia_audio_flow;
flow->flow_multimedia_types |= ndpi_multimedia_audio_flow;
else if((dport == 3480) || ((sport >= 50020) && (sport <= 50039)))
flow->flow_multimedia_type = ndpi_multimedia_video_flow;
flow->flow_multimedia_types |= ndpi_multimedia_video_flow;
else if((dport == 3481) || ((sport >= 50040) && (sport <= 50059)))
flow->flow_multimedia_type = ndpi_multimedia_screen_sharing_flow;
flow->flow_multimedia_types |= ndpi_multimedia_screen_sharing_flow;
else {
flow->flow_multimedia_type = ndpi_multimedia_unknown_flow;
flow->flow_multimedia_types = ndpi_multimedia_unknown_flow;
return(0);
}

Expand Down
44 changes: 22 additions & 22 deletions src/lib/protocols/rtp.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ u_int8_t rtp_get_stream_type(u_int8_t payloadType, ndpi_multimedia_flow_type *s_
case 16: /* DVI4 */
case 17: /* DVI4 */
case 18: /* G729 */
*s_type = ndpi_multimedia_audio_flow;
*s_type |= ndpi_multimedia_audio_flow;
return(1);

case 25: /* CelB */
Expand All @@ -70,7 +70,7 @@ u_int8_t rtp_get_stream_type(u_int8_t payloadType, ndpi_multimedia_flow_type *s_
case 31: /* H261 */
case 32: /* MPV */
case 34: /* H263 */
*s_type = ndpi_multimedia_video_flow;
*s_type |= ndpi_multimedia_video_flow;
return(1);
}

Expand All @@ -87,18 +87,18 @@ u_int8_t rtp_get_stream_type(u_int8_t payloadType, ndpi_multimedia_flow_type *s_
case 116: /* G.726 */
case 117: /* G.722 */
case 118: /* Comfort Noise Wideband */
*s_type = ndpi_multimedia_audio_flow;
*s_type |= ndpi_multimedia_audio_flow;
return(1);

case 34: /* H.263 [MS-H26XPF] */
case 121: /* RT Video */
case 122: /* H.264 [MS-H264PF] */
case 123: /* H.264 FEC [MS-H264PF] */
*s_type = ndpi_multimedia_video_flow;
*s_type |= ndpi_multimedia_video_flow;
return(1);

default:
*s_type = ndpi_multimedia_unknown_flow;
*s_type |= ndpi_multimedia_unknown_flow;
return(0);
}
}
Expand All @@ -114,33 +114,33 @@ u_int8_t rtp_get_stream_type(u_int8_t payloadType, ndpi_multimedia_flow_type *s_
if(sub_proto == NDPI_PROTOCOL_GOOGLE_CALL) {
switch(payloadType) {
case 111:
*s_type = ndpi_multimedia_audio_flow;
*s_type |= ndpi_multimedia_audio_flow;
return(1);

case 96:
case 100:
*s_type = ndpi_multimedia_video_flow;
*s_type |= ndpi_multimedia_video_flow;
return(1);

default:
*s_type = ndpi_multimedia_unknown_flow;
*s_type |= ndpi_multimedia_unknown_flow;
return(0);
}
}

if(sub_proto == NDPI_PROTOCOL_WHATSAPP_CALL) {
switch(payloadType) {
case 120:
*s_type = ndpi_multimedia_audio_flow;
*s_type |= ndpi_multimedia_audio_flow;
return(1);

case 97:
case 102:
*s_type = ndpi_multimedia_video_flow;
*s_type |= ndpi_multimedia_video_flow;
return(1);

default:
*s_type = ndpi_multimedia_unknown_flow;
*s_type |= ndpi_multimedia_unknown_flow;
return(0);
}
}
Expand All @@ -151,52 +151,52 @@ u_int8_t rtp_get_stream_type(u_int8_t payloadType, ndpi_multimedia_flow_type *s_
case 97:
case 101:
case 109:
*s_type = ndpi_multimedia_audio_flow;
*s_type |= ndpi_multimedia_audio_flow;
return(1);

case 127:
*s_type = ndpi_multimedia_video_flow;
*s_type |= ndpi_multimedia_video_flow;
return(1);

default:
*s_type = ndpi_multimedia_unknown_flow;
*s_type |= ndpi_multimedia_unknown_flow;
return(0);
}
}

if(sub_proto == NDPI_PROTOCOL_TELEGRAM_VOIP) {
switch(payloadType) {
case 111:
*s_type = ndpi_multimedia_audio_flow;
*s_type |= ndpi_multimedia_audio_flow;
return(1);

case 106:
*s_type = ndpi_multimedia_video_flow;
*s_type |= ndpi_multimedia_video_flow;
return(1);

default:
*s_type = ndpi_multimedia_unknown_flow;
*s_type |= ndpi_multimedia_unknown_flow;
return(0);
}
}

if(sub_proto == NDPI_PROTOCOL_SIGNAL_VOIP) {
switch(payloadType) {
case 102:
*s_type = ndpi_multimedia_audio_flow;
*s_type |= ndpi_multimedia_audio_flow;
return(1);

case 120:
*s_type = ndpi_multimedia_video_flow;
*s_type |= ndpi_multimedia_video_flow;
return(1);

default:
*s_type = ndpi_multimedia_unknown_flow;
*s_type |= ndpi_multimedia_unknown_flow;
return(0);
}
}

*s_type = ndpi_multimedia_unknown_flow;
*s_type |= ndpi_multimedia_unknown_flow;
return(0);
}

Expand Down Expand Up @@ -324,7 +324,7 @@ static void ndpi_rtp_search(struct ndpi_detection_module_struct *ndpi_struct,
NDPI_EXCLUDE_PROTO(ndpi_struct, flow);
NDPI_EXCLUDE_PROTO_EXT(ndpi_struct, flow, NDPI_PROTOCOL_RTCP);
} else {
rtp_get_stream_type(payload[1] & 0x7F, &flow->flow_multimedia_type, NDPI_PROTOCOL_UNKNOWN);
rtp_get_stream_type(payload[1] & 0x7F, &flow->flow_multimedia_types, NDPI_PROTOCOL_UNKNOWN);

NDPI_LOG_INFO(ndpi_struct, "Found RTP\n");
ndpi_int_rtp_add_connection(ndpi_struct, flow, NDPI_PROTOCOL_RTP);
Expand Down
2 changes: 1 addition & 1 deletion src/lib/protocols/stun.c
Original file line number Diff line number Diff line change
Expand Up @@ -877,7 +877,7 @@ static int stun_search_again(struct ndpi_detection_module_struct *ndpi_struct,
NDPI_LOG_DBG(ndpi_struct, "RTP (dir %d)\n", packet->packet_direction);
NDPI_LOG_INFO(ndpi_struct, "Found RTP over STUN\n");

rtp_get_stream_type(packet->payload[1] & 0x7F, &flow->flow_multimedia_type, flow->detected_protocol_stack[0]);
rtp_get_stream_type(packet->payload[1] & 0x7F, &flow->flow_multimedia_types, flow->detected_protocol_stack[0]);

if(flow->detected_protocol_stack[0] != NDPI_PROTOCOL_RTP &&
flow->detected_protocol_stack[0] != NDPI_PROTOCOL_RTCP &&
Expand Down
10 changes: 5 additions & 5 deletions src/lib/protocols/zoom.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ static void ndpi_int_zoom_add_connection(struct ndpi_detection_module_struct *nd
struct ndpi_flow_struct *flow) {
u_int16_t master;

if(flow->flow_multimedia_type != ndpi_multimedia_unknown_flow)
if(flow->flow_multimedia_types != ndpi_multimedia_unknown_flow)
master = NDPI_PROTOCOL_SRTP;
else
master = NDPI_PROTOCOL_UNKNOWN;
Expand Down Expand Up @@ -91,7 +91,7 @@ static int is_zme(struct ndpi_detection_module_struct *ndpi_struct,
case 13: /* Screen Share: RTP is not always there, expecially at the beginning of the flow */
if(payload_len > 27) {
if(is_rtp_or_rtcp(ndpi_struct, payload + 27, payload_len - 27, NULL) == IS_RTP) {
flow->flow_multimedia_type = ndpi_multimedia_screen_sharing_flow;
flow->flow_multimedia_types |= ndpi_multimedia_screen_sharing_flow;
}
return 1;
}
Expand All @@ -100,23 +100,23 @@ static int is_zme(struct ndpi_detection_module_struct *ndpi_struct,
case 30: /* P2P Screen Share: it seems RTP is always present */
if(payload_len > 20 &&
is_rtp_or_rtcp(ndpi_struct, payload + 20, payload_len - 20, NULL) == IS_RTP) {
flow->flow_multimedia_type = ndpi_multimedia_screen_sharing_flow;
flow->flow_multimedia_types |= ndpi_multimedia_screen_sharing_flow;
return 1;
}
break;

case 15: /* RTP Audio */
if(payload_len > 19 &&
is_rtp_or_rtcp(ndpi_struct, payload + 19, payload_len - 19, NULL) == IS_RTP) {
flow->flow_multimedia_type = ndpi_multimedia_audio_flow;
flow->flow_multimedia_types |= ndpi_multimedia_audio_flow;
return 1;
}
break;

case 16: /* RTP Video */
if(payload_len > 24 &&
is_rtp_or_rtcp(ndpi_struct, payload + 24, payload_len - 24, NULL) == IS_RTP) {
flow->flow_multimedia_type = ndpi_multimedia_video_flow;
flow->flow_multimedia_types |= ndpi_multimedia_video_flow;
return 1;
}
break;
Expand Down
2 changes: 1 addition & 1 deletion tests/cfgs/default/result/stun_wa_call.pcapng.out
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Acceptable 591 133689 13

1 UDP 192.168.12.156:46652 <-> 93.57.123.227:3478 [proto: 78.45/STUN.WhatsAppCall][IP: 0/Unknown][ClearText][Confidence: DPI][FPC: 78.45/STUN.WhatsAppCall, Confidence: DPI][DPI packets: 7][cat: VoIP/10][171 pkts/28371 bytes <-> 206 pkts/29803 bytes][Goodput ratio: 75/71][31.78 sec][bytes ratio: -0.025 (Mixed)][IAT c2s/s2c min/avg/max/stddev: 0/0 178/151 2505/2463 255/222][Pkt Len c2s/s2c min/avg/max/stddev: 62/62 166/145 434/446 100/85][Mapped IP/Port: 93.35.171.3:61494][Relayed IP/Port: 93.57.123.227:3478][Plen Bins: 14,41,11,8,2,2,3,2,5,4,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
2 UDP 192.168.12.156:49526 <-> 157.240.203.62:3478 [proto: 78.45/STUN.WhatsAppCall][IP: 119/Facebook][ClearText][Confidence: DPI][FPC: 78.45/STUN.WhatsAppCall, Confidence: DPI][DPI packets: 7][cat: VoIP/10][48 pkts/12953 bytes <-> 73 pkts/40083 bytes][Goodput ratio: 84/92][14.68 sec][bytes ratio: -0.512 (Download)][IAT c2s/s2c min/avg/max/stddev: 0/0 191/164 3009/3009 684/623][Pkt Len c2s/s2c min/avg/max/stddev: 62/62 270/549 542/1155 203/421][Mapped IP/Port: 93.35.171.3:61517][Relayed IP/Port: 157.240.203.62:3478][PLAIN TEXT (dsUmpy)][Plen Bins: 8,18,19,1,0,0,0,0,3,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,2,4,2,1,2,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0]
3 UDP 192.168.12.156:49526 <-> 93.33.118.87:41107 [proto: 338.45/SRTP.WhatsAppCall][IP: 0/Unknown][Stream Content: Video][Encrypted][Confidence: DPI][FPC: 78.45/STUN.WhatsAppCall, Confidence: DPI][DPI packets: 7][cat: VoIP/10][8 pkts/3465 bytes <-> 8 pkts/5392 bytes][Goodput ratio: 90/94][0.38 sec][bytes ratio: -0.218 (Download)][IAT c2s/s2c min/avg/max/stddev: 0/0 53/35 124/160 55/59][Pkt Len c2s/s2c min/avg/max/stddev: 75/86 433/674 997/876 437/340][Risk: ** Known Proto on Non Std Port **][Risk Score: 50][Plen Bins: 0,38,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
3 UDP 192.168.12.156:49526 <-> 93.33.118.87:41107 [proto: 338.45/SRTP.WhatsAppCall][IP: 0/Unknown][Stream Content: Audio, Video][Encrypted][Confidence: DPI][FPC: 78.45/STUN.WhatsAppCall, Confidence: DPI][DPI packets: 7][cat: VoIP/10][8 pkts/3465 bytes <-> 8 pkts/5392 bytes][Goodput ratio: 90/94][0.38 sec][bytes ratio: -0.218 (Download)][IAT c2s/s2c min/avg/max/stddev: 0/0 53/35 124/160 55/59][Pkt Len c2s/s2c min/avg/max/stddev: 75/86 433/674 997/876 437/340][Risk: ** Known Proto on Non Std Port **][Risk Score: 50][Plen Bins: 0,38,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,18,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
4 UDP 192.168.12.156:46652 <-> 157.240.21.51:3478 [proto: 78.45/STUN.WhatsAppCall][IP: 119/Facebook][ClearText][Confidence: DPI][FPC: 78.45/STUN.WhatsAppCall, Confidence: DPI][DPI packets: 7][cat: VoIP/10][5 pkts/1398 bytes <-> 4 pkts/440 bytes][Goodput ratio: 85/62][31.77 sec][bytes ratio: 0.521 (Upload)][IAT c2s/s2c min/avg/max/stddev: 0/0 7942/831 29269/2494 12355/1176][Pkt Len c2s/s2c min/avg/max/stddev: 254/110 280/110 314/110 28/0][Mapped IP/Port: 93.35.171.3:61494][Relayed IP/Port: 157.240.21.51:3478][Plen Bins: 0,0,44,0,0,0,33,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
5 UDP 192.168.12.156:46652 <-> 157.240.195.48:3478 [proto: 78.45/STUN.WhatsAppCall][IP: 119/Facebook][ClearText][Confidence: DPI][FPC: 78.45/STUN.WhatsAppCall, Confidence: DPI][DPI packets: 7][cat: VoIP/10][5 pkts/1398 bytes <-> 4 pkts/440 bytes][Goodput ratio: 85/62][31.77 sec][bytes ratio: 0.521 (Upload)][IAT c2s/s2c min/avg/max/stddev: 1/0 7942/832 29268/2497 12355/1177][Pkt Len c2s/s2c min/avg/max/stddev: 254/110 280/110 314/110 28/0][Mapped IP/Port: 93.35.171.3:61494][Relayed IP/Port: 157.240.195.48:3478][Plen Bins: 0,0,44,0,0,0,33,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
6 UDP 192.168.12.156:46652 <-> 157.240.203.62:3478 [proto: 78.45/STUN.WhatsAppCall][IP: 119/Facebook][ClearText][Confidence: DPI][FPC: 78.45/STUN.WhatsAppCall, Confidence: DPI][DPI packets: 7][cat: VoIP/10][5 pkts/1398 bytes <-> 4 pkts/440 bytes][Goodput ratio: 85/62][31.77 sec][bytes ratio: 0.521 (Upload)][IAT c2s/s2c min/avg/max/stddev: 0/0 7942/832 29269/2496 12355/1177][Pkt Len c2s/s2c min/avg/max/stddev: 254/110 280/110 314/110 28/0][Mapped IP/Port: 93.35.171.3:61494][Relayed IP/Port: 157.240.203.62:3478][Plen Bins: 0,0,44,0,0,0,33,0,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
Expand Down
2 changes: 1 addition & 1 deletion tests/cfgs/monitoring/result/signal_videocall.pcapng.out
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,6 @@ SignalVoip 334 123259 3

Acceptable 334 123259 3

1 UDP 192.168.12.67:47926 <-> 35.219.252.146:56377 [proto: 78.269/STUN.SignalVoip][IP: 284/GoogleCloud][Stream Content: Audio][ClearText][Confidence: DPI (cache)][FPC: 78.269/STUN.SignalVoip, Confidence: DPI][DPI packets: 298][DPI packets before monitoring: 33][cat: VoIP/10][167 pkts/87565 bytes <-> 131 pkts/31930 bytes][Goodput ratio: 92/83][10.75 sec][bytes ratio: 0.466 (Upload)][IAT c2s/s2c min/avg/max/stddev: 0/0 64/82 2304/2449 291/279][Pkt Len c2s/s2c min/avg/max/stddev: 70/70 524/244 1223/900 385/198][Mapped IP/Port: 93.35.168.30:45266, 35.219.252.146:56377][Risk: ** Known Proto on Non Std Port **][Risk Score: 50][PLAIN TEXT (17uAgN)][Plen Bins: 3,28,9,7,0,0,0,0,16,8,1,0,0,1,1,0,1,1,0,1,0,0,0,0,7,3,0,1,0,0,1,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
1 UDP 192.168.12.67:47926 <-> 35.219.252.146:56377 [proto: 78.269/STUN.SignalVoip][IP: 284/GoogleCloud][Stream Content: Audio, Video][ClearText][Confidence: DPI (cache)][FPC: 78.269/STUN.SignalVoip, Confidence: DPI][DPI packets: 298][DPI packets before monitoring: 33][cat: VoIP/10][167 pkts/87565 bytes <-> 131 pkts/31930 bytes][Goodput ratio: 92/83][10.75 sec][bytes ratio: 0.466 (Upload)][IAT c2s/s2c min/avg/max/stddev: 0/0 64/82 2304/2449 291/279][Pkt Len c2s/s2c min/avg/max/stddev: 70/70 524/244 1223/900 385/198][Mapped IP/Port: 93.35.168.30:45266, 35.219.252.146:56377][Risk: ** Known Proto on Non Std Port **][Risk Score: 50][PLAIN TEXT (17uAgN)][Plen Bins: 3,28,9,7,0,0,0,0,16,8,1,0,0,1,1,0,1,1,0,1,0,0,0,0,7,3,0,1,0,0,1,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
2 UDP 192.168.12.67:47926 <-> 35.219.252.146:3478 [proto: 78.269/STUN.SignalVoip][IP: 284/GoogleCloud][ClearText][Confidence: DPI][FPC: 78/STUN, Confidence: DPI][DPI packets: 26][cat: VoIP/10][13 pkts/1258 bytes <-> 13 pkts/1454 bytes][Goodput ratio: 57/62][10.01 sec][Hostname/SNI: signal.org][bytes ratio: -0.072 (Mixed)][IAT c2s/s2c min/avg/max/stddev: 6/6 804/804 4015/4015 1248/1248][Pkt Len c2s/s2c min/avg/max/stddev: 62/94 97/112 162/126 43/14][Mapped IP/Port: 93.35.168.30:45265][Peer IP/Port: 35.219.252.146:56377, 35.219.252.146:34099, 35.219.252.146:37175][Relayed IP/Port: 35.219.252.146:40378][PLAIN TEXT (BFODsIPgWuCIX)][Plen Bins: 34,19,30,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
3 UDP 192.168.12.67:47926 <-> 35.216.234.234:3478 [proto: 78.269/STUN.SignalVoip][IP: 284/GoogleCloud][ClearText][Confidence: DPI (cache)][FPC: 78/STUN, Confidence: DPI][DPI packets: 10][cat: VoIP/10][5 pkts/510 bytes <-> 5 pkts/542 bytes][Goodput ratio: 59/61][10.02 sec][Hostname/SNI: signal.org][bytes ratio: -0.030 (Mixed)][IAT c2s/s2c min/avg/max/stddev: 5/4 2503/2503 9988/9988 4321/4321][Pkt Len c2s/s2c min/avg/max/stddev: 62/94 102/108 158/126 46/15][Mapped IP/Port: 93.35.168.30:45265][Relayed IP/Port: 35.216.234.234:29688][PLAIN TEXT (42oPBlgi)][Plen Bins: 30,30,20,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
Loading

0 comments on commit 0d853d5

Please sign in to comment.