TypeCodes

Linux中使用TCPDUMP进行简单的TCP抓包

在Linux TCP通信的调试中,tcpdump应该算是很好的一个工具。这篇文章主要使用Windows作为客户端,向作为服务端的Linux中的一个socket监听端口发送报文信息,然后在Linux中用TCPDUMP工具进行抓包。通过这个实例,可以较为完整的了解TCP通信中的“三次握手”等过程。

Linux中使用TCPDUMP进行简单的TCP抓包

1 CentOS服务端建立监听并抓包

在虚拟机服务器(192.168.1.178)使用下面这个简单的服务端程序,建立8000端口的监听服务,然后使用 …

- 阅读剩余部分 -

Linux多进程和多线程的一次gdb调试实例

Linux C/C++开发中gdb进行多进程和多线程的调试一直比较麻烦,在CSDN上看到高科的一篇文章《gdb调试多进程和多线程命令》比较有启发,这里就自己重新整理并做了一个GDB多进程/线程的调试实践。

1 原文整理

默认设置下,在调试多进程程序时gdb只会调试主进程。gdb7以上的版本(gdb --version)支持多进程调试,只需要设置好follow-fork-mode(fork追踪模式 …

- 阅读剩余部分 -

同步GitHub Markdown文章到Linux服务器后更新Pelican博客的脚本

使用了Pelican后,最多的操作就是编译Markdown文章生成HTML文件,然后发布到Nginx的博客目录下。

我的Pelican博客管理和发布流程

如上面的流程图所示,目前自己在CentOS7.1服务器上通过Pelican生成和发布博客的做法如下:

1
2
3
4
5
6
在Windows中写好Markdown文章,然后git push到GitHub中的私人仓库中;
在CentOS7.1服务器中git pull到本地仓库;
把Markdown文件复制到Pelican的文章目录(content …

- 阅读剩余部分 -

Linux c语言连接MySQL数据库实例

工作上自己在Linux C/C++开发时,用的都是Oracle数据库,毕竟企业级应用追求稳定性好、安全可靠。业余时间做了一些WEB开发,接触到MySQL数据库比较多,也比较喜欢开源的MySQL。之前都是用PHP连接MySQL数据库,这里自己用C语言连接MySQL,执行一些简单的连接、查询操作、异常处理等操作。

1 测试程序

代码比较简单,先把MySQL数据库安装后得到的头文件mysql …

- 阅读剩余部分 -

Linux gcc编译生成静态库和共享动态库的过程

这篇文章主要通过实例演示在Linux下如何使用gcc分别编译生成静态库和动态库文件以及其它程序如何使用这个生成的静态库和动态库。

1 要用到的3个测试程序

1、头文件hello.h:

1
2
3
4
#ifndef HELLO_H
#define HELLO_H
  void hello(const char *name);
#endif …

- 阅读剩余部分 -

Linux下Nginx、MySQL和PHP等应用的日志切割脚本

在Linux中如果应用程序会产生日志,那么就需要考虑日志切割,例如按照固定的大小切割、按照日期进行切割等等。同样,在编译Nginx1.9.0MySQL5.7.7rcPHP7后,这三个应用服务都会产生日志,尤其是Nginx进程根据配置文件ngnix.conf记录每条访问记录到access.log中。如果所有的日志都打印到同一个文件中的话 …

- 阅读剩余部分 -

成功将博客从Typecho迁移到Pelican

根据前文的上线步骤,目前已经成功的将博客从Typecho迁移到了Pelican。中间上线发布的时候,遇到了好几个问题,不过由于上线步骤中有失败的处理方案(保留Typecho程序),所以在Typecho到Pelican之间来来回回切换了好几次。

1 遇到的问题
1
2
主题部分代码在测试的时候存在写死的情况,尤其是网站地址;
测试用的代码没被正常替换成正式发布的版本。
2 上线心得
1
2 …

- 阅读剩余部分 -