他目前显示:
$ 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_worker
的f_worker
和probe
。然后probe
调用函数print_host
。
因此,您需要将argv[2]
的值从main一直传递到print_host。然后,您可以更改显示的fprintf行。