1

Это началось с простой задачи: отправить пакет ICMP типа 8 и кода 0 на хост в моей сети. Так как я использую свой Mac для всего, я установил Немезиду с помощью macports и попробовал следующую команду.

sudo nemesis icmp -i 8 -c 0 -P ./payload -D 172.16.148.133

Это привело к ошибке.

ERROR: Incomplete packet injection.  Only wrote -1 bytes.

ICMP Injection Failure

И с тех пор я вообще не мог использовать nemesis icmp с двух известных хороших компьютеров Mac, я всегда получаю одну и ту же ошибку.

Так что мой ответ, когда я заметил, что это просто скомпилировать его в системе FreeBSD 8.2 из портов, nemesis 1.4 build 26, так же, как в OS X.

Работает так, как должно, без ошибок, счастливый пользователь. :)

Но я не хочу входить в систему FreeBSD каждый раз, когда хочу использовать Немезиду, так что здесь не так? Я попытался скомпилировать nemesis 1.4 build 26 из исходного кода на sourceforge, связав его с libnet, установленным macports в /opt, но это не имело значения.

Примечание: я попытался запустить эту команду nemesis в обеих системах, используя корневой терминал, а не только через sudo.

1 ответ1

0

Это похоже на сбой libnet. Из исходного кода Немезиды:

if (got_link)
    n = libnet_write_link_layer(l2, device, pkt, icmp_packetlen);
else
    n = libnet_write_ip(sockfd, pkt, icmp_packetlen);

if (verbose == 2)
    nemesis_hexdump(pkt, icmp_packetlen, HEX_ASCII_DECODE);
if (verbose == 3)
    nemesis_hexdump(pkt, icmp_packetlen, HEX_RAW_DECODE);

if (n != icmp_packetlen)
{
    fprintf(stderr, "ERROR: Incomplete packet injection.  Only wrote "
            "%d bytes.\n", n);
}

Таким образом, ошибка в libnet_write_ip() или libnet_write_link_layer() .

Я бы рекомендовал вручную перекомпилировать libnet из исходного кода и связать Немезиду с этой новой копией.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .