他目前显示:

$ 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之后声明的,我认为?
有人可以帮忙吗?

最佳答案

是的,您是对的,那是改变的地方。但这是一个棘手的事情。从具有main信息的argv[]中,您需要更改同时调用r_workerf_workerprobe。然后probe调用函数print_host

因此,您需要将argv[2]的值从main一直传递到print_host。然后,您可以更改显示的fprintf行。

08-16 20:49