自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 关于nmap和traceroute在虚拟机里使用的问题

这两个问题非常普遍,但是你几乎不会在网上找到什么答案,这两个问题是:1.你曾经在VMWare中执行nmap,但没有成功!请看《NMAP through VMWare Workstation NAT Interface》解决方案,请看《千万不要在VMWare的NAT模式下使用nmap》。2.你曾经在VMWare中执行traceroute,但没有成功!请看《traceroute throw NAT》解

2016-08-28 16:20:45 16156 4

原创 解决TCP延迟应答(Delay ACK)问题的3个小Trick-(续:正规的做法)

这个话题确实有点乱,事实就是如此。        在《解决TCP延迟应答(Delay ACK)问题的3个小Trick》中,我描述了一种通过修改发送端协议栈的方式来消解Delay ACK带来的危害的方案,这实属一种无奈的走火入魔的做法,因为你无法控制数据接收端,因为总是有人认为网络上的任何所谓的“延迟”都是坏事,完美主义者总是试图消解任何的延迟!但事实上...        再次重申,不要以为Del

2016-08-28 15:57:50 10263 2

原创 基于Cisco CDP协议的家用路由器以及盒子的自动配置随想

每次买来一个设备,比如一台新的路由器,家庭盒子,就是荣耀立方,小米盒子这种,唯一觉得头大的就是它们的初始配置。        这种盒子几乎都有一个初始IP地址用于插上网线登录界面后来配置盒子的IP地址,或者说更加先进一点,其本身有一个AP,然后用你的手机连上这个热点进行手机配置,看起来简直特别的酷!但这是假象!        手机连接这个AP期间,手机不能连别的AP,甚至无法4G/3G,或者说用笔

2016-08-28 13:59:08 14173

原创 基于HTTP访问特定URL的抓包程序该怎么写

抓包是一个简单易行的事,它可以帮你分析网络的行为。我记得早在2004年的时候,老师就讲过抓包有多么重要。        作为程序员而言,除了抓包几乎没有任何手段探测网络行为,程序员没有机会触摸网络设备,也就没有能力洞悉网络细节,程序员唯一能触摸到的就是自己的终端,在这个终端上唯一能做的就是抓包。我是半个程序员,所以不管站在谁的立场上,我都认为抓包是一个重要的事,虽然在我内心看来,抓包和分析数据包解

2016-08-28 13:54:32 7993 2

原创 解决TCP延迟应答(Delay ACK)问题的3个小Trick

温州皮鞋厂老板之前一直都是搞TCP的,天天纸上谈兵做的事情都没有意义,现在已经被我说服买了两大卷的《CCIE路由和交换认证考试指南(第5版)》开始搞起了!        TCP延迟应答问题简单点说就是,如果条件(比较复杂,本文不论,自行google或者看看本文的附录)不符合,那么当发送一个数据段的时候,可能要等待40ms(对于Linux而言)到200ms(对于大多数Windows而言)的时间才会收

2016-08-28 11:18:54 14189 3

原创 程序员的价值观与网络的复杂性

网络是极其复杂的,这种复杂包含混沌和不确定性,网络是一个典型的复杂系统。然而网络映射到程序员的心里,它只是一条确定的管道!这种思路会带来问题。程序员与运维/网管之间的斗争依然在继续,在这个无休止的争论中,我不断切换着自己的角色,这一次,我将站在程序员的对立面。        从我的故事说起,这些故事我故意打乱了时间顺序,请看到此文的人并且知道这些事的,不要往自己身上映射,纯技术讨论,无关褒贬!我的

2016-08-27 08:25:41 9410 3

原创 Python网络质量测试工具增加乱序统计

半月月前,我用Python写了一个工具,可以测试网络的纯丢包率以及探测网络路径中的队列情况,经过一些使用者的反馈,还算比较好用,关于这个工具,请参见《动手写一个探测网络质量(丢包率/RTT/队形等)的工具》。        但是我觉得这个少了关于乱序度的测试功能,于是补充之。其实,在Linux的TC工具上,除了队列,丢包率,延迟之外,乱序度也是一个非常重要的配置参数,不过请记住,Linux不是全部

2016-08-23 20:59:47 16750

原创 千万不要在VMWare的NAT模式下使用nmap

玩过nmap的都知道,很多信息的确认来自于OS的指纹,这些指纹中包括TCP序列号!        如果你在一个Windows宿主机的VMWare虚拟机中使用nmap,而且这个虚拟机还是使用NAT模式,那么不管你扫哪个机器,得到的guess OS结果都将是Windows,该Windows版本将会与你的宿主机完全一致!这明显是错误的结论!本文的目的是纠正这个错误的结论以及提供一个能让你在NAT模式下使

2016-08-18 21:22:38 11987 3

原创 如何在VMWare的NAT模式下使用traceroute(解析vmnat的行为)

前面写过一篇《为什么在VMWare的NAT模式下无法使用traceroute》,本文来破除这个结论,展示一种让你在VMWare的NAT模式下可以使用traceroute的方法。        可能很多人觉得我无聊,使用Bridge模式不就好了吗?...其实,我之所以这么做,是认为作为一个这方面技术的爱好者,一定要有一种死磕和较真的精神,你说不行,我偏偏找出一种可行的办法!促使我写下本文的动力来自于

2016-08-17 21:45:26 10323 4

原创 长瘦管道的MSS对TCP性能的影响

TCP的性能优化有个原则,那就是带宽越高的环境,优化主机性能相比优化拥塞算法而言收益越大!        而当前的环境,或者说当前主流的环境,是什么呢?是高带宽环境!虽然在中国这可能名不副实...可毕竟TCP/IP的标准以及协议栈实现的主流主导都是外国人依照外国的环境搞的,所以网络方面的优化,可能并不存在通用的原则,我们要做“具有中国特色的...”        然而正因为这是在中国,所以我们可以

2016-08-14 11:03:25 15030

原创 模拟一个TCP数据注入劫持的案例

注意区分几种劫持:DNS劫持HTTP 302劫持TCP注入劫持对于DNS和302,并不是我的强项,我也不是很关注,我主要关注TCP注入,即把脏数据注入到一个TCP流中,这个很容易做到。我先给出一段代码,这个代码就可以完成注入:#!/usr/local/bin/pythonimport sysimport signalfrom scapy.all import *target = sy

2016-08-13 23:21:50 13349 1

原创 动手写一个探测网络质量(丢包率/RTT/队形等)的工具

还像往常一样,本文的内容没有收敛,依然是随笔式的备忘,而不是文档。人在外地,本不该来的,也挺沮丧,不过每周总结总是必不可少。说到网络技术,我个人比较关注IP,其次是链路设备,然后才是TCP,这可能跟我第一次接触网络技术时所遇到的公司有关,它们是华为3Com以及Cisco,而不是Google,Yahoo或者BAT。        然而能接触到的大多数的人可能更关注的是TCP,因为这是他们唯一能接触到

2016-08-13 10:17:20 23581 6

原创 Linux的NAT如何处理ICMP这类带外信息

清远鸡,不好吃。        关于Linux的nf_conntrack的详细细节,我不再赘述,由于我之前写的文章几乎没有编排目录,我也只能通过谷歌baidu搜索几篇相关列如下,以后我也会注意自己文章的目录编排工作,不然自己都找不到了:《Linux的ip_conntrack半景》《终于搞定Linux的NAT即时生效问题》《Linux系统如何平滑生效NAT》《我和ip_conntrack不得不说的一

2016-08-12 20:42:48 7938

原创 为什么在VMWare的NAT模式下无法使用traceroute

traceroute是一个神奇,其历史悠久到足以跟UNIX相比肩,它工作在IP层,由于IP是一个无状态的协议,因此traceroute对其返回的结果的正确性甚至能否返回结果不予保证,这在某些场景下会造成困扰。        最大的困扰是,它在某种场景下根本不可用,而你却无法区分这是真的不可用还是正如文档中所说,某些设备会禁止ICMP所以不会返回结果。        我来直接切入正题,tracero

2016-08-12 20:33:21 9402

原创 Python实现抓取访问特定URL的数据包

这篇文章紧接着《使用Python来分离或者直接抓取pcap抓包文件中的HTTP流》展开,那篇文章是昨天写的,今天早上突然又想实现一个直接抓包的程序,于是天没亮就又爬起来了...        Python有很多库可以实现抓包和分析包,典型就是pypcap用来抓包,dpkt用来分析,关于这两个库的安装,我有一些随笔,虽然这些对于一个Python老手而言似乎是信手拈来可以吹着口哨搞定的事,但是对于新手

2016-08-07 10:46:48 20912 1

原创 使用Python来分离或者直接抓取pcap抓包文件中的HTTP流

Python是世界上最好的语言!它使用不可见的制表键作为其语法的一部分!Vim和Emacs的区别在于,它可以帮助乌干达的儿童...不讨论哲学,不看第一印象,也没有KPI相逼,但是Python真的做到了”你不用操心语言本身,只需要关注你自己的业务逻辑需求“!我的需求比较简单,那就是:使用tcpdump/tshark抓取且仅抓取一类TCP流,该TCP流是HTTP流,访问特定的URL,如果用我们熟悉的t

2016-08-06 08:05:50 35648 1

原创 关于台风形成和路径的业余解释

2016年8月2日,早3点50分。我起床等台风”妮妲“...        在上海待了7年多,没有遇到过一次正经的台风,到深圳不到1年,就来了个台风直击,这次台风对于我这种极端风雨狂客而言,无疑是一次馈赠,欣喜不已。在享受狂风暴雨之前,作为一个技术倦客,我还是想把关于台风的形成和路径的原理略扯一二,虽然在内行看起来我这种解释很业余,在外行看起来很牛逼...        不过,我也不抱有太大希望,

2016-08-02 06:01:47 5776 2

一个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关注的人

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