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]