Libsf is a stack fingerprinting library that allows the following:
libsf_t *s; s = libsf_init(LIBSF_ACTIVE, device, argv[optind], 0, 1, flags, errbuf); libsf_active_id(s); /* get the total number of matches */ tm = libsf_os_get_tm(s); /* get the high score */ hs = libsf_os_get_hs(s); printf("%d potential matches (highest score of %d)\n", tm, hs); printf("Highest scored OS guesses:\n"); /* run through the OS list, dumping string that matches score */ while ((guess = libsf_os_get_match(s, hs))) { printf("%s\n", guess); } libsf_destroy(s);
Beta 0.01 tarball [Sun Jul 28 23:12:37 PDT 2002]