永发信息网

linux下实现traceroute

答案:2  悬赏:40  手机版
解决时间 2021-02-15 10:13
if ( (code = (*pr->recv)(seq, &tvrecv)) == -3)
{
printf(" *");
printf("----->>>");
}
else {
char str[NI_MAXHOST];
if (sock_cmp_addr(pr->sarecv, pr->salast, pr->salen) != 0)
{
printf("----->>>1%d",code);
if (getnameinfo(pr->sarecv, pr->salen, str, sizeof(str),NULL, 0, 0) == 0){
printf("----->>>2%d",code);
printf(" %s (%s)", str,sock_ntop_host(pr->sarecv, pr->salen));}
else
{
printf(" %s",sock_ntop_host(pr->sarecv, pr->salen));
printf("----->>>3");
}
memcpy(pr->salast, pr->sarecv, pr->salen);
}
tv_sub(&tvrecv, &rec->rec_tv);
rtt = tvrecv.tv_sec * 1000.0 + tvrecv.tv_usec / 1000.0;
printf(" %.3f ms", rtt);
if (code == -1)
{
done++;
printf("----->>>4");
}
else if (code >= 0)
printf(" (ICMP %s)", (*pr->icmpcode)(code));
}
fflush(stdout);
}
printf("\n");
}
为什么这个代码只显示了一次经过路由的IP地址 这段代码要怎么修改啊 求大神指导啊!!!!
最佳答案
你可以直接查看traceroute的源代码再进行研究
全部回答
方法/步骤这个需要linux服务器里边支持nc命令,如果还没有装的情况会显示如下 我们可以使用yum命令直接安装,我的是centos 6.5系统 如果不会用,直接打nc命令就会显示出它的使用方发。 如果需要测试某个服务器的端口在能不能正常在外面 访问 例如我测试一下 180.97.33.107 这个ip 的80 端口有没有开启可以使用命令 nc -z -w 1 180.97.33.107 80 可以看到默认是使用tcp进行测试的,如果要测试udp端口有没有开放的可以添加-u 一起使用。例如我测试一下202.96.128.86 这个ip的udp 53端口 nc -u -z -w 1 202.96.128.86 53 上面可以看到成功的会显示相关的信息,但是如果测试到端口是不开放的或者被防火墙拦截的就不会返回相关的信息。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我吃了一种保健药,每次吃过这药后就感觉食道
贷款利息计算,使利益最大化。
用单臂电桥测量电路测量热敏电阻,用不用温度
详细社会评价的项目具有的特征包括()。A.项目
3.62.50.5的简便算法
诈骗7万,公安在“起诉意见书”中写《数额较
谁知道借调合同的定义
creo2.0二维图倒圆角标注
表格控件下载下来了用不了怎么办
【柳敬亭说书翻译】柳敬亭说书中的问题翻译以
农夫大盘鸡新郑店在什么地方啊,我要过去处理
爱爱时间短,有没有可以延长的呢,想要纯植物
之前的近义词是什么
西安有哪些高级的清真餐厅?承办婚宴用的~
东风大道(沌阳大道路口)P 具体在什么位置
推荐资讯
有个国内的女明星演过一个恐怖片,叫什么游戏
深圳侨城北附近哪里房租便宜?
我国1600mm、800mm、400mm、200mm等降水量线
HIIT一天要跳几次才能减肥
公务员和事业单位谁的工资高
父亲节送小米手环合适吗
阳晖楼怎么样
据下图分析神经细胞,叙述错误的是AA. 此图可
有哪个明星是姓爱新觉罗的?
小学英语五年级下册听读空间听力怎么下载?
游戏笔记本电脑和用来办公的有啥不一样
如何用m check 查春雨面膜真伪
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?