tcp/ip学习笔记--第7章ping、8章traceroute

参考:

https://download.csdn.net/download/qq_31567335/10213200

ping和traceroute都是ICMP协议的具体应用,ping命令在windows和linux上都可以使用。traceroute在windows上对应的命令是tracert, linux上如果没有安装需要使用“sudo apt-get install traceroute”命令进行安装。

ping报文格式:


traceroute的工作原理就是通过从1开始增加TTL的值,当收到的包的TTL的值为1或0的时候,路由器会扔掉这个包并返回一个超时错误的ICMP报文,这个包的源ip会写这个路由器本身的,这样就可以探测路由过程中的每个路由器。同时发送一个目的端口非常大,一般来说程序不可能正在使用的端口,从而会收到一个端口不可达报文,从而得知到达了目的地。

traceroute报文格式:


发送原始ip数据报中数据的前8个字节是为了从UDP头上读出源端口,从而得出是哪个程序的包。


有一篇用c++实现ping程序的文章比较有趣。贴下链接:

http://www.cnblogs.com/ranjiewen/p/5704627.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值