自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (4)
  • 收藏
  • 关注

原创 如何抓取访问特定URL的HTTP流的数据包

工作中遇到了一个问题,需要抓取访问特定URL的TCP流的包。这也许不是什么问题,很多人会觉得使用tcpdump抓包,然后用Wireshark来过滤即可,但如果不能那么做呢?如果必须要仅仅抓取特定URL访问的TCP包呢?也许你会说,这又有何难...       我先来告诉你直接的难度吧,间接且更加重要问题的后面再谈。直接的难度就是抓包这个动作发生在网卡层面,特别底层,BPF是无状态的,它能过滤的只能

2016-06-26 01:07:35 19116 2

原创 关于ping命令的-I选项的一个问题

在排查网络问题的时候,ping是一个不可或缺的工具(比ping更不可或缺的是www.baidu.com...),在Cisco上,可以指定源IP地址去ping任意IP,但是在Linux上指定源IP地址却并不是那么直观。通过ping的manual,发现一个-I选项,可以从指定网卡发送出去数据包,我天真以为后面携带的那个IP地址就是指定的源IP地址了,其实并不是。        通过抓包,发现-I选项后

2016-06-25 22:43:27 20501 2

原创 HTTP的KeepAlive与TCP的LINGER

用IE访问一个网页下载一个文件,抓包获取HTTP的Request和Response,发现在Response后面有一个RST:这是怎么回事呢?没有正常发FIN断开连接。我们看HTTP的GET细节:有一个KeepAlive,这说明客户端希望保持住TCP连接,它可能会重用这个TCP连接发送另一个HTTP请求或者别的HTTP数据。然后我们看Response的细节:服务器把KeepAlive给echo回来了

2016-06-25 22:20:41 9192

原创 关于TCP传输速率的测量方法

人们非常关心下载速度,对于使用非包月宽带以及使用付费CDN的用户而言,这是典型的拿钱买时间的行为,我支付的费用越高,希望的下载速度越快,所使用的累积带宽越大。关于各种测速方法也是汗牛充栋了,本文介绍一下TCP传输的测速。TCP速率概述首先,TCP速率受到多方面时延的影响,其中包括:1.本机以及对端机器的处理时延这部分指的是发送端和接收端主机由于操作系统调度,中断,网卡数据包调度等处理引入的时延,基

2016-06-25 08:32:24 24084 2

原创 Linux 3.5之后取消route cache后的一个组播问题和解决

Linux3.5之前的协议栈实现在IP层是支持路由cache的,这个cache曾受到了诸多的吐槽,比如面临hash抖动,容易被攻击利用等等,于是去掉了路由cache。此后引入一个叫做下一跳cache的机制,这纯粹是为了将路由表和下一跳在逻辑上分开。        下一跳cache逻辑可在我写过的《Linux3.5内核以后的路由下一跳缓存》一文中管中窥豹,这会儿没有太多时间,就不重复解释了,在那篇文

2016-06-18 10:03:20 9074

原创 流量整形,延迟以及ACK丢失对TCP发送时序的影响

TCP是一个连续不断的涓涓细流或者滚滚长江,但这只是理想情况!经过诸多中间网络设备,最终一个TCP流到达接收端的时候,将可能不再保持一个流的形式,而变成了一阵阵的突发...这些突发产生的ACK反过来反馈到发送端,进而对发送端的发送时序产生影响,也就是说对发送端的数据流进行整形,这真是一个典型的涡轮增压反馈系统,根本不是通常认为的那样不可控或者说另一个极端,仅仅是端到端!想驾驭它其实不是那么难,如果

2016-06-18 08:18:26 20181 2

原创 TCP自时钟/拥塞控制/带宽利用之脉络半景解析

0.说明搬家公司的人很多都穿皮鞋!Why?这个题目不是很明确,而且这个文章比较长,也算是我的一个阶段性总结,既然是总结,就不必为题目而纠结了。在端午假期的最后来做这个总结也实属不易(假期前两天加班,没有完成预期的计划,低落),记得很早以前写那篇《TCP协议疑难杂症全景解析》的时候跟现在一个心情。翻翻以前的记录,写那个的时候是2011年的7月初,小小才刚刚半个月,如今小小已经马上5岁了,时间过得真快

2016-06-16 21:52:18 20234 2

原创 什么是TCP的混合型自时钟

任何事情都需要一定的节拍来驱动,最典型的就是时钟,它规定了什么时间要干什么事。在古代没有精确的机械时钟时,人们使用太阳,月亮来计时,因此就像年,四季,月,日,时辰,都是时钟的体现,另外像生肖,星座也一样,其实,任何时钟都是一系列的周期轮回组成的。在农业民族看来,时钟始终都是精确的,这也就是为什么中国人总结出了二十四节气的原因,古代的中国是没有12月的,这个是古罗马的历法,也叫凯撒历法,翻译为儒略历

2016-06-04 10:47:05 8304

原创 排队理论解释TCP/IP网络拥塞是如何影响TCP的RTT的波动

部门团建,大家都去长隆了,也有去澳门广西的...我去了梦里...本来我也报了名的,想单独带着女儿独处两天,不光为了培养跟女儿的感情,也是想让老婆歇两天...只可惜女儿最近生病,去不了了,六一儿童节的表演也由于生病被拒绝了,很是失落,更失落的是我,于是带着失落和愤怒,又有些许对不公道的无能的宣泄,我半夜爬起来,把这一切都诉诸给TCP/IP吧!        就像上学时一样,大家临考前还在打牌,就我一

2016-06-04 10:15:31 21344 1

一个iptables的stateless NAT模块实现

如果你在寻找Linux上配置诸如Cisco设备上的static双向NAT的方法,这个或许就是你想要的; what?你觉得它完不成PAT?是的,它不行。但是想做PAT为何不使用现有的iptables实现呢?它可以自动为你解决元组唯一性问题。不要从概念上分析,事实上,static双向NAT是完全对称的,一对一的 ,也只有在BOX两边的网络在拓扑级别是完全对等的情形下,这种NAT或许才是有用的,Cisco设备经常处在这样的位置,比如一个很大的stub节点的出口位置,比如两个domain的中间位置... 我将名字取为STATIC-2-WAY-NAT,比较长也比较怪,完全不符合UNIX的小写短名传统,我的想法是:这样可以少写很多的帮助信息,因为名字就是自解释的。

2014-12-27

模块化的nf-HiPAC

原版的nf-hipac需要为内核打patch,且只支持较低版本的内核,构建起来相对比较麻烦。 模块化后的nf-hipac可以直接作为内核可加载模块编译,且适配了高版本的Linux内核。为了移植工作简化,去掉了和iptables模块的联动支持!

2014-11-21

配置文件还有一些other

代码和配置iptables配置文件,还有一些别的东西

2010-04-16

关于linux内核以及其他个人体会的文集

本文集是我用将近两年的时间写成的,大多数文章是关于linux内核的,另外还有一些我自己对计算机的理解,还有一些历史,音乐方面的东西。适合于对linux内核思想感兴趣的阅读,文章偏重于对于思想的理解。

2009-09-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除