Мне нужна помощь, чтобы изменить pnscan - PullRequest
0 голосов
/ 22 декабря 2018

Сейчас он показывает:

$ pnscan -s somehost.com 22

50.87.248.227   : box1227.bluehost.com                     :    22 : TXT : SSH-2.0-OpenSSH_5.3\r\n

Я пытаюсь изменить pnscan, чтобы показать мне результаты, подобные этому:

$ pnscan -s somehost.com 22

50.87.248.227   : somehost.com                     :    22 : TXT : SSH-2.0-OpenSSH_5.3\r\n

Вот код https://github.com/ptrrkssn/pnscan/blob/master/pnscan.c

if (pr_sym)
{
    hep = gethostbyaddr((const char *) &in, sizeof(in), AF_INET);
    fprintf(fp, "%-15s : %-40s : %5d", host,
            inet_ntoa(in), hep ? hep->h_name : "(unknown)", port);
}
else
    fprintf(fp, "%-15s : %5d", inet_ntoa(in), port);
}

Я попытался изменить указанный выше fprint, но он не работает, потому что argv [i] объявлен после этих fprint, я думаю?Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 22 декабря 2018

Да, вы правы, что это место, чтобы измениться.Но это сложно сделать.Из main, который имеет информацию argv[], вам нужно изменить r_worker и f_worker, которые оба вызывают probe.затем probe вызывает функцию print_host.

Так что вам нужно передать значение argv[2] от основного к print_host.Затем вы можете изменить показанную вами строку fprintf.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...