libpcap入门教程

libpcap是一个开源的,用于捕捉网络包的库。可以在大部分*nix系统下运行。另外, 还有一个windows版本的叫做winpcap。

包捕获

包捕获是收集网络上数据的过程。

……

Continue reading

mongo跨集群复制集同步

mongo的跨集群复制集同步方案。

在生产环境上使用mongo,需要考虑容灾。在跨idc的容灾方案上,我们需要把数据库同步到其他的idc去, 这样即使一个idc挂了,另一个idc还可以服务,而且数据不会丢。

……

Continue reading

pcap-filter手册

网络包过滤语法。tcpdump的expression。

描述

pcap_compile()是用来编译一个字符串到过滤程序的函数。这导致过滤程序可以决定哪些包可以提供给pcap_loop(), pcap_dispatch(), pcap_next(), pcap_next_ex()

……

Continue reading

tcpdump手册

tcpdumpdump网络包。

概要

tcpdump [ -AbdDefhHIJKlLnNOpqRStuUvxX ]
        [ -B buffer_size ] [ -c count ]
        [ -C file_size ] [ -G rotate_seconds ]
        [ -F file ] [ -i interface ]
        [ -j tstamp_type ] [ -m module ]
        [ -M secret ] [ -P in|out|inout ]
        [ -r file ] [ -V file ] [ -s snaplen ]
        [ -T type ] [ -w file ] [ -W filecount ]
        [ -E spi@ipaddr algo:secret,...  ]
        [ -y datalinktype ] [ -z postrotate-command ]
        [ -Z user ]
        [ expression ]

描述

tcpdump打印网络接口上匹配expression网络包的描述内容。另外它可以使用-w参数, 将包数据保存到文件中,以便后期分析,后期可以使用-r参数读文件中取包数据。 它还可以使用-V参数,让它从多个文件中读取。所有情况下,tcpdump只处理匹配expression的包。

……

Continue reading

tenfyzhong/goenv库介绍

goenv库将环境变量的值设置到一个结构体里, 以方便使用。类似于encoding/json解析到结构体。

背景

为了简化docker的发布,把配置从配置文件里抽取出来,设置到环境变量里。然后发布docker 容器的时候就不需要再带一个配置文件了。

……

Continue reading

golang交叉编译

golang的交叉编译。

golang的交叉编译非常简单,只要配好对应的环境变量后再go build就可以了。 需要配置以下的环境变量。

CGO_ENABLED

默认情况下这个变量为1。 交叉编译不支持cgo,所以需要关闭cgo。 linux/unix下为CGO_ENABLED=0。 windows下为set CGO_ENABLED=0

……

Continue reading

vim宏的使用

本文介绍vim宏以及它的魔法。

宏是什么

vim的宏就是把一系列动作录制起来,然后可以进行播放可以执行同样动作的功能。 它是vim中最具有魔法的操作了。可能会有人觉得.重复操作更具有魔法,但是.只能记 重复上一次命令,能做的事情有限,所以它最多就是最经常使用的命令而已,并没有魔法。

……

Continue reading

制作U盘启动盘

本文介绍在osx和linux下制作U盘启动盘的方法。

假如要把ubuntu.iso做成启动盘。

osx下制作启动盘

osx下制作启动盘,需要先将iso转成dmg格式的镜像。然后再把dmg dd到U盘里

……

Continue reading

nginx旁路

旁路的目的是为了把请求复制一份发到另外的服务上去。这样就可以不影响主流程的情况下 处理额外的逻辑了。最简单的方式就是让nginx把请求发出去,这样我们只要改配置就行了, 而不用改代码。相对于开发,测试回归的成本往往要高很多。

……

Continue reading