我需要修改pnscan

时间:2018-12-22 11:32:14

标签: c bash perl ssh

他当前显示:

$ 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 :(得分:1)

是的,没错,那是改变的地方。但这是一个棘手的事情。从具有main信息的argv[]中,您需要更改同时调用r_worker的{​​{1}}和f_worker。然后probe调用函数probe

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