blog.shuolingdeng.com
互联网搬砖笔记: Linux中的抓包与截包(一)
http://blog.shuolingdeng.com/2015/12/linux.html
近日,被要求调研一下OVS这个宣称运行在内核态的数据包交换程序。既然是数据包交换程序,必然涉及到数据包截取层面,关于OVS的数据截取策略,俺百思不得其解。近日,俺在追代码追出些眉目,特此分享,顺便,总结下的Linux内部数据包抓取的方法及思路。 Ovs/bridge必须要求加载一个kernel module,以驱动的形式进入内核,从内核的层面截取数据包。libpcap主要使用了kernel的socket接口,使得数据包能直接复制到用户空间。openvpn使用了tun/tap驱动,直接创建一个虚拟的网络设备,并复制该网络设备的数据包直接到应用层。netfilter hook则使用netfilter框架,在内核的几个hook点注入抓包代码。 Open vSwitch is a production quality, multilayer virtual switch licensed under the open source Apache 2.0. 版本中merge进入内核。以下的所有分析基于内核4.3版本,具体源码可以通过 LXR. 该处理函数在 netif receive skb. 这个CONSUME...
blog.shuolingdeng.com
互联网搬砖笔记: October 2016
http://blog.shuolingdeng.com/2016_10_01_archive.html
最近俺迫于找工作压力,好久没有更新Blog,被迫走上了刷Leetcode的苦逼生涯。找工作的间隙,探索了俺一直使用的Keepass密码管理软件,以及其提供HTTP服务的插件KeepassHTTP。无奈,该插件无法与Alfred保持很好的协作,因此,看能否弄一个Python的小脚本,集成到Alfred中,提高生产力。 KeepassHTTP协议一句话描述为:通过URL获取密码的HTTP API。 首先,对于密码服务这种要求High Privacy的软件而言,为其设计一个API则首要考虑的必需为安全性的问题。目前,就俺知道的加密的两大类无非为Symmetric与Asymmetric两种机制,其中又以Symmetic最为常用。简言之,加密双方Offline协商好一个共同的Key。以后都用这把Key对所有的Message加密。而KeepassHTTP就是基于这种机制实现Key Exchange。 Test Key":"1c3a2.",. 该API为HTTP POST请求,因此并非业内所常见的RESTFul设计。但是其在安全性方面还是做了不少功夫。 Subscribe to: Posts (Atom).
blog.shuolingdeng.com
互联网搬砖笔记: Ryu拓扑发现:代码解析
http://blog.shuolingdeng.com/2014/03/ryu.html
Is a component-based software defined networking framework. Ryu provides software components with well defined API that make it easy for developers to create new network management and control applications. Ryu supports various protocols for managing network devices, such as OpenFlow. Netconf, OF-config, etc. About OpenFlow, Ryu supports fully 1.0, 1.2, 1.3, 1.4 and Nicira Extensions. The Link Layer Discovery Protocol. Is a vendor-neutral link layer. Protocol in the Internet Protocol Suite. 主要是监听EventPor...
blog.shuolingdeng.com
互联网搬砖笔记: First Journey into Deep Web
http://blog.shuolingdeng.com/2014/12/first-journey-into-deep-web.html
First Journey into Deep Web. 近日,著名的Tor网络据说新部署了Meek模式网桥,利用Amazon与Azure的资源进行流量混淆,着实给俺等网虫一个福音,前几日,下载好了Tor,进行了人生中第一次深网探索。 先去Tor官网下载最新版的软件, 本文不再赘述。如图,点击上方图片中的红框处。解压缩后,点击Start Tor Browser.exe即可进入传说中的Tor网络。 此处问你有没有用代理连接Internet,如果贵司没有设置诸如HTTP代理连接Baidu.com之类的网站,那就选择No。 此处问你你的网络服务商(ISP),例如中国电信,联通,或者教育网有没有阻挡你对于Tor网络的链接,天朝的大家直接点“Yes”即可。 此处,我选择了meek-amazon来进行连接,笔者此处的环境应该西北片区教育网。点击Connect,即可完成设置。 本文最后推荐一个笔者经常去的站点,皮皮书屋。此站点可以下载到相当多的关于CS的书籍,关于此站的来源不再赘述,有兴趣的读者可自行Google。 May 24, 2016 at 5:30 PM. May 25, 2016 at 10:36 AM.
blog.shuolingdeng.com
互联网搬砖笔记: 关于traceroute的新姿势
http://blog.shuolingdeng.com/2016/05/traceroute.html
话说,为何对trace route产生了兴趣?还是来源于学校的渣渣网络。贵校的渣渣网络其实挺好,人手一个Public IP,只是说,出口处做了防火规则,禁止进入而言罢了。中间一个大的10.0.0.0/8的网络打通全网。 似乎教科书会提及到traceroute利用了ICMP的TTL字段来进行跟踪路由。然后就一笔带过了。因此,俺当年也天真的以为traceroute只能通过ICMP来追踪路由。但是近几日的深入研究后,也是发现,too young, too simple. 为啥俺能发现这个问题捏?其实在于俺交的网管喜欢乱玩firewall喽,老是disable掉icmp。而当网管disable掉ICMP后,俺喜欢用的mtr与traceroute的表现出了差异,不是mtr不能用就是traceroute不能用。 卧槽,不是都用的ICMP嘛,为啥会有差异。好吧,求人不如求已,RTFM。 细细扫了一遍traceroute,俺在最后发现了作者良心的写下了. LIST OF AVAILABLE METHODS 俺总结下:. 咦,这还是门新的协议,简单地说,利用. First Journey into Deep Web.
blog.shuolingdeng.com
互联网搬砖笔记: 对于OSI的考据癖(一)
http://blog.shuolingdeng.com/2016/01/osi.html
起因于今日,无线网络出了些故障。俺的小本本ping网关竟然ping值在1-100ms之间波动,这种波动对于802.11ac来说,是极为不合理的。 话说,俺多天前购入了一台小米路由器Mini版,雷厂长的东西还是蛮不错的。到手后,刷了OpenWRT,用于扶墙服务,两个无线接口,5G频段另一个用于工作,且与两个内网口作了bridge,2.4G用于他人蹭网,并与俺的办公网用iptables做了隔离。 网络民工啥不会,出了问题就只能抓包了,首先连在wifi底下抓个包。 我们都知道,双绞线直连的网络必然是Ethernet(802.3)网络,而Wi-Fi网络必然是802.11ac啦。但是两种网络抓包的结果竟然惊人的相似,只有三个字段,源地址,目的地址以及类型Type字段。 Is a family of computer networking. Technologies for local area networks. LANs) and metropolitan area networks. And has since been refined to support higher bit rates. And was...
blog.shuolingdeng.com
互联网搬砖笔记: March 2016
http://blog.shuolingdeng.com/2016_03_01_archive.html
作为互联网从业人员,如果经常混社区的话,一定会注意到有邮件列表(mailing list)这一个概念。 在mailing list中发邮件询问抑或是回答别人的问题,提交PATCH都必须遵守一定的邮件礼仪。在这里,俺就来科普一下所谓的邮件列表的礼仪(Mailing List Etiquette)。 本文基本源自于 OpenStack Mailing List. 的相关礼仪和俺当年混mailing-list被喷的一些惨痛教训。想想当年也是too young呵。。 关于邮件的主题(subject),应该仔细阅读每个mailing list的相关规定。例如,某些社区可能会规定,在不同的topic前面加上修饰符,发PATCH时,加上[PATCH]的修饰符,等等。例如:. 这一章节,主要是介绍,如何格式化邮件的正文,以及回复邮件正文的一般形式。 在俺混过的几个社区的邮件列表中,几乎都明确地提及到,请发送纯文本格式(Plain Text)的邮件。这一点对于俺也是经常犯的错误。 换行(Line Wrapping). 这一点是说,别讨论讨论着,就单独私信给一个人了(闷声FDC&#...当然,如果有什么不方便...
blog.shuolingdeng.com
互联网搬砖笔记: 关于Blocking RPC的思考
http://blog.shuolingdeng.com/2016/12/blocking-rpc.html
近日,考虑到重构之前的系统,涉及到如何设计一个阻塞型RPC调用,场景如下:. Web Server A 想要call 在Web Server B的一个方法F,方法F执行操作为CURD虚拟机,其中启动VM与克隆VM需要花费数分钟级别的时间。 声明B的方法F为同步方法:A起一个Thread调用F,当成功执行后,执行对应业务逻辑。 A中维持一大堆的TCP连接,消耗大量TCP资源;同时,导致在不稳定的Network环境下,错误处理逻辑麻烦。 B的方法F为异步方法,A在调用的时候提前约定,或者传入CallBack URL接口以参数形式传入。类似于 third party login. 1 A在调用后立即返回,无需维持大量的TCP连接。 1 增加API的复杂层度,须为每个阻塞型API都创建一个CallBack接口,增大代码的维护难度。 1 通过MQ的方式,解耦了Server A与Server B,同时,接口数量大大减小。 2 同时,可以打开Log功能已备查验。 2 增加了Deploy成本,当然可以采取Brokerless的MQ如ZeroMQ等来实现。 First Journey into Deep Web.
blog.shuolingdeng.com
互联网搬砖笔记: May 2016
http://blog.shuolingdeng.com/2016_05_01_archive.html
话说,为何对trace route产生了兴趣?还是来源于学校的渣渣网络。贵校的渣渣网络其实挺好,人手一个Public IP,只是说,出口处做了防火规则,禁止进入而言罢了。中间一个大的10.0.0.0/8的网络打通全网。 似乎教科书会提及到traceroute利用了ICMP的TTL字段来进行跟踪路由。然后就一笔带过了。因此,俺当年也天真的以为traceroute只能通过ICMP来追踪路由。但是近几日的深入研究后,也是发现,too young, too simple. 为啥俺能发现这个问题捏?其实在于俺交的网管喜欢乱玩firewall喽,老是disable掉icmp。而当网管disable掉ICMP后,俺喜欢用的mtr与traceroute的表现出了差异,不是mtr不能用就是traceroute不能用。 卧槽,不是都用的ICMP嘛,为啥会有差异。好吧,求人不如求已,RTFM。 细细扫了一遍traceroute,俺在最后发现了作者良心的写下了. LIST OF AVAILABLE METHODS 俺总结下:. 咦,这还是门新的协议,简单地说,利用. Subscribe to: Posts (Atom).
blog.shuolingdeng.com
互联网搬砖笔记: April 2016
http://blog.shuolingdeng.com/2016_04_01_archive.html
最近接触了个新词儿叫做PMP(Project Management Professional),于是乎追本溯源,追着追着就到了Scrum这边。似乎俺前几周参加个DevOps Meetup,似乎还跟Scrum/Agile有点联系,就认真的找了本书仔细研读起来。 下文是 硝烟中的Scrum和XP-我们如何实施Scrum 的一些摘要。 Track(类别),Component(组件),Requstor(请求者),Bug Track ID. Sprint demo data,. 13:00-13:30 po对sprint目标进行总体介绍,介绍产品backlog。确定演示的时间和地点。 13:30-15:00 团队估算时间,必要的情况下拆分backlog条目,PO必要时修改重要性评分理清每个条目的含义。所有重要性高的backlog条目都要填写如何演示。 15:00-16:00 团队选择要放入sprint的故事,计算生产率,用作核查工作安排的基础。 确定sprint目标:我们为什么要进行这个sprint,为什么不直接放假算了。 拷贝product backlog至sprint backlog。估算的生产率.