1.什么是ttl?
TTL是IP协议包中的一个值,指定数据报被路由器丢弃之前允许通过的网段数量,每经过一个路由节点,TTL值减1。当TTL的值是0的时候,说明目标地址不可达并返回:Time to live exceeded
默认Linux操作系统值是64。
2.场景
电脑被黑上不了网,可以ping通网关,但是不能上网。
3.模拟场景
修改主机TTL值为1,下面的方式是我们临时修改内核参数。(默认是64)
编辑
我们去ping一下我们的网关,发现是可以ping通的。
编辑
然后去ping 8.8.8.8 ,发现不可达
编辑
然后我们用wireshark抓包进行分析一下。
此时我们的ttl值为1,所以我们只收到一个数据包。
编辑
我们将ttl值改为2。
编辑
我们将ttl值还原成默认值64。
编辑
此时的ttl值是50,说明我们中间经过了14个节点。
4.使用mtr工具
执行命令
编辑
我们可以看到我们中间都经过了哪些节点。
编辑
如果kali里面没有mtr工具。输入: apt install -y mtr 回车安装即可。
测试 baidu,其中红色代表网络拥堵。
编辑