当前位置:  技术问答>linux和unix

ping中指定ttl该如何实现?

    来源: 互联网  发布时间:2016-03-18

    本文导语:      大家好,我刚学习LINUX两个多月,这两天在编程模拟linux下ping命令的实现,暂时只实现了-i(发送时间间隔) -c(指定发送数据包个数) -s(指定发送数据包的数据大小),现在在实现-t(指定ttl)这个功能时遇到了问题,请各位...

    大家好,我刚学习LINUX两个多月,这两天在编程模拟linux下ping命令的实现,暂时只实现了-i(发送时间间隔) -c(指定发送数据包个数) -s(指定发送数据包的数据大小),现在在实现-t(指定ttl)这个功能时遇到了问题,请各位指教!!
     
    我抓了ping -t 2 [ipaddress]发出去的icmp的包,发现ip报头中的ttl始终是64,并不是-t参数指定的大小,说明发包的时候并没有修改ip报头,那它应该是怎么实现这个功能的呢?

|
我看到ping的源码里是这样做的:
setsockopt(icmp_sock, IPPROTO_IP, IP_TTL, &ittl, sizeof(ittl))

|
楼主用man ping仔细查看一下ttl应该怎样设置:
NetBSD: ping [-t tos] [-T ttl]
FreeBSD: ping [-t timeout] [-m ttl] [-T ttl]
    其中的-T只用于广播。
OpenBSD: ping [-T tos] [-t ttl]
Linux: ping [-t ttl]

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • AIX 中为何ping 新浪的IP地址能ping通,而ping 域名不能ping通?(在线等待)
  • Linux网络奇怪问题,能ping通外网,内网ping不通,网关ping不通,DNS能ping通!
  • 我在linux里用ping,ping得通,怎么一直在ping啊,但怎么不停止啊
  • redhat es4 我设置了机器名以后,从本机可以ping ,从别的机器ping ip可以,ping 机器名不行。
  • 两台机器一台可以ping通一方,另一方不能ping回来
  • unix5.0.7能ping到自己ping不到别人
  • 在solaris,可以ping自己,但是无法Ping通别的IP地址
  • 网卡ip本机能ping通,其他局域网内计算机ping不通
  • 网卡激活了,但ping dsn 不通,ping 网关也不通,怎么办?
  • linux网络ping不同自己和其他机子,其他机子ping不同我
  • 可以ping通路由器,但是ping不通外部地址可能是什么原因?
  • vmware虚拟机linux不能ping通主机,主机能ping通虚拟机
  • 很奇怪,板子和板子ping不通,板子和pc可以ping通
  • linux系统 在局域网内ping不通网关,但可以ping通网内的其他机器
  • Linux互ping在局域网内大量丢包,但是linux和windows互ping就没问题。
  • ping :windows和linux相互ping不通
  • 请问我的网络中怎么有些电脑能PING 通服务器,有些不能ping 服务器
  • 电脑安装window可以ping通其他的机器,但是安装linux不能ping通其他机器怎么回事!
  • 能ping到自己,但ping不到其他的主机??
  • 为什么虚拟机VM里的linux ping不通window 7,但是window 7可以ping通linux?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3