YouCompleteMe

最近用了一段时间VS,感觉用了几年的VIM显得有些单薄,主要是代码提示方面,补全啥的,那么又有人会说那样不好,对你熟悉代码有影响,就像有的人喷Source Insight的理由就是用到最后某个函数在哪个文件当中都不清楚了,与不停地敲对象的结构体内容相比,突然有一种找找舒适的感觉的冲动,还是决定在VIM上动刀子,毕竟EMACS一般不太会有人安装,而VIM一般都会有,而且可以远程SSH操作,有的只有V[……]

Read more

libpcap读取本地pcap文件

假如本地已经通过抓包工具保存了pcap格式的数据包文件,通过libpcap的库也能简单地进行离线分析

pcap_t *
pcap_open_offline(const char *fname, char *errbuf)

函数打开保存的数据包文件,用于读取,返回文件描述符

fname参数指定了pcap文件名

errbuf依旧是函数出错的时候返回错误信息

这样直接分析离线数据包文件,然后通过pcap_[……]

Read more

libpcap开始抓包

下面就开始抓包了

在前面获取了网口之后(或者不需要或者直接设定),需要打开:

pcap_t *
pcap_open_live(const char *source, int snaplen, int promisc, int to_ms, char *errbuf)

这个函数打开设备,然后返回一个pcap_t类型的指针,实际上就是获得用来捕获网络数据包的描述符

source是pcap_lookupd[……]

Read more

VMware ESXi配置多块物理网卡

VMware ESXi和VMware Workstation最大的不同是可以独立地安装和运行在裸机上,而不会依赖宿主在一个操作系统之上,本身就相当于一个云操作系统,而在这一套管理体系中,你可以随意创建虚拟机,可以随意部署自己的操作系统,当然整个服务器的资源分配自己控制,也就是用户可以看到自己专属资源的应用程序,而服务器可以做资源管理,完全是云的模子

今天需要在一个ESXi环境里布置一个系统,测试系[……]

Read more

编译过程

平时用的GCC实际上是一些后台程序的包装,假如手动编译一个新版本的gcc以及它的所有依赖模块,单核估计会耗费你几十分钟的时间,安装过程中可以看到as,ld之类的可执行程序安装到系统目录下,实际上gcc就是这些程序的包装,它根据不同的参数去调用相应的程序,比如预处理编译程序cc1,汇编器as,链接器ld

编译过程是将高级语言翻译成机器语言,应该算是程序完成过程最关键的地方,结合《程序员的自我修养》,[……]

Read more