example: print fingerprints

This commit is contained in:
zhuzhenjun
2023-10-23 09:52:21 +08:00
parent 1de666a56e
commit 77a47deb92

View File

@@ -431,7 +431,7 @@ const char *PrintInet(int af, const void *src, char *dst, socklen_t size)
void example_detect(struct osfp_db *osfp_db, Packet *p)
{
int ret;
char str_buf[1024];
char str_buf[1024] = "";
//unsigned char *iph = (unsigned char *)(p->iph != NULL ? (void *)p->iph : (void *)p->ip6h);
struct iphdr *iph;
struct ip6_hdr *ip6h;
@@ -448,11 +448,15 @@ void example_detect(struct osfp_db *osfp_db, Packet *p)
osfp_profile_cycle(c2);
struct osfp_fingerprint fp = {0};
osfp_profile_get_cycle(c1);
if (iph) {
result = osfp_ipv4_identify(osfp_db, iph, tcph, tcph_len);
osfp_fingerprinting(iph, tcph, tcph_len, &fp, 4);
} else if (ip6h) {
result = osfp_ipv6_identify(osfp_db, ip6h, tcph, tcph_len);
osfp_fingerprinting(iph, tcph, tcph_len, &fp, 6);
} else {
goto exit;
}
@@ -471,6 +475,9 @@ void example_detect(struct osfp_db *osfp_db, Packet *p)
char *json = osfp_result_score_detail_export(result);
osfp_fingerprint_to_json_buf(&fp, str_buf, 2048, 0);
printf("%s\n", str_buf);
if (1) {
printf("Example ipv4 header detect: --------------------------\n");
printf("Connection info: %s:%d -> %s:%d\n", p->srcip, p->sp, p->dstip, p->dp);