我离baidu.com有几跳
一、背景
最近,读了网易游戏面试经验(三) - cotyb - 博客园之后,自己尝试着在windows下tracert了一下baidu.com,结果如下图一所示,发现从tracert的结果看,似乎一直到30跳之后都没有达到baidu.com(220.181.57.217)。然而如果ping baidu.com是可以ping通的,心想30跳也到不了baidu.com似乎有点远,于是有了下面的尝试。

尝试一:指定ttl为29,ping,可以ping通

尝试二:比较ping和tracert抓包结果
ping包的内容

tracert包的内容

二、初步结论
对比ping和tracert包之后发现,ping包的内容里有abcdef...等字符,而tracert的icmp包则是全0。猜测是baidu.com对icmp包的内容进行了识别。为了验证这一点,下面通过scapy,构造不同icmp包进行验证。
三、验证
1)scapy发送64个字节全零报文,wireshark抓包显示没有收到应答:
a=64*"\x00"
send(IP(dst="220.181.57.217")/ICMP()/a)
2)发送内容为“abcdefghjklmnopq”、“abcdefghjklmnopqr”的报文,都收到了应答。
send(IP(dst="220.181.57.217")/ICMP()/“abcdefghjklmnopq”)
四、一个可以输出距离baidu.com有几跳的小脚本
一些复杂的场景比如,不同ping baidu.com得到不同地址没有考虑。修改这个小程序,读取ping的输出的话,能够得到和每一跳的IP地址。
import os n=30
i=1
while i<n: a=os.popen('ping -n 2 -i '+str(i)+' baidu.com').read()
if "TTL=" in a:
print "success"
break
i=i+1
#print a
if i<n:
print "distance is %d hops"%i

我离baidu.com有几跳的更多相关文章
- 总结asp.net页面跳转
ASP.NET页面跳转相关知识 一.<a>标签 1. <a href=”test.aspx”></a> 2. 这是最常见的一种转向方法; eg: < ...
- location.href跳转不正确
今天写这个随笔的用意是为了记录我遇到的一种情况,导致我页面无法正确跳转 location.href跳转页面其实很简单,只要附上url就可以了,但是今天我在测试一个跳转时是这么写的: location. ...
- HTML / JavaScript / PHP 实现页面跳转的几种方式
① HTML 的 meta refresh 标签 <!doctype html> <html lang="en"> <head> <met ...
- java相关各种页面跳转
AK相信页面跳转在这个圈圈圆圆里是个地球人都能经常遇到的事,AK也在平时的工作学习中记录了一些,这里就做一个小小的总结,有任何的疑问和质疑都希望您能告诉我,不用担心后果,必定至少您还能理我,AK万分感 ...
- 解决IE6下a标签的onclick事件里的超链接不跳转问题
今天遇到个很诡异的问题,就是<a href="javascript:void(0);" onclick="window.location=url"> ...
- 三、nginx301跳转302跳转
301跳转设置: server { listen 80; server_name downcc.com; rewrite ^/(.*) http://www.downcc.com/$1 permane ...
- 浅谈URL跳转与Webview安全
学习信息安全技术的过程中,用开阔的眼光看待安全问题会得到不同的结论. 在一次测试中我用Burpsuite搜索了关键词url找到了某处url,测试一下发现waf拦截了指向外域的请求,于是开始尝试绕过.第 ...
- PHP代码审计笔记--URL跳转漏洞
0x01 url任意跳转 未做任何限制,传入任何网址即可进行跳转. 漏洞示例代码: <?php $redirect_url = $_GET['url']; header("Locati ...
- nginx做http向https的自动跳转
在访问百度时,在浏览器输入www.baidu.com会自动跳转到https://www.baidu.com不用人工干预,nginx也可以做这样的自动跳转! 首先让nginx服务器监听两个端口,分别是8 ...
随机推荐
- 转载:《TypeScript 中文入门教程》 16、Symbols
版权 文章转载自:https://github.com/zhongsp 建议您直接跳转到上面的网址查看最新版本. 介绍 至ECMAScript 2015开始,symbol成为了一种新的原始类型,就像n ...
- CS.动态加载DLL.动态生成.运行代码.BS.AutoFac管理实现类
以英雄联盟为例.界面上经常有Load....xxxx.dll.一般都是加载子系统.比如装备系统.英雄系统等.在实际开发中很多项目非常庞大.都会分割成独立子解决方案开发.后期就需要加载回来.一般都是利用 ...
- 【转】微信小程序给程序员带来的可能是一个赚钱的机遇
自上周被微信小程序刷屏之后,这周大家都在谈微信小程序能够带来哪些红利的话题,其实我想从程序员的角度来谈谈,带给我们程序员来的红利,或许是我们程序员创业或者赚钱的机遇. 其实我从<作为移动开发程序 ...
- 仿腾讯QQ竖直滑动导航菜单
菜单就像qq软件的分组,鼠标经过自动显示相应组的内容. 效果体验网址:http://keleyi.com/a/bjad/nf86w2dv.htm 以下是源代码: <html> <he ...
- 各大互联网公司前端面试题(HTML/CSS)
Html篇: 1.你做的页面在哪些流览器测试过?这些浏览器的内核分别是什么? IE: trident内核 Firefox:gecko内核 Safari:webkit内核 Opera:以前是presto ...
- MySQL错误(一)
Host 'localhost' is not allowed to connect to this MySQL server 手贱误操作将root用户删除,解决办法: 找到mysql的配置文件 my ...
- infopath重复表格无法保存输入内容
现象: infopath重复表格无法保存文本输入内容,可以保存日期控件输入内容 原因: 在重复表中添加格式类型规则导致无法保存.
- 12-返回指针的函数&&指向函数的指针
前言 接下来我只讲指针的最常见用法,比如这一章的内容----返回指针的函数 与 指向函数的指针 一.返回指针的函数 指针也是C语言中的一种数据类型,因此一个函数的返回值肯定可以是指针类型的. 返回 ...
- 开发至今,终于开始测试bug,可以省心点了
今天遇到一个特别奇葩的问题 IOSSDK9.1 Xcode7.1.1 使用表控制器UITableViewController来刷新表时, 之前对表的frame进行的修改,都会被恢复,沾满整个屏幕. 目 ...
- active_record的不定时更新
1 valid?方法只是校验所有的校验条件,如果规则A仅加在数据库上,而不是model上,是不对校验起作用的,最后提交时虽然校验成功,但仍然会抛异常.比如数据库中增加了非空的规则,但模型上没有pres ...