
Linux
文章平均质量分 59
penzo
这个作者很懒,什么都没留下…
展开
-
Linux2.4系列内核对于网络数据的处理
<br />为了更好的了解Netfilter的工作机理,非常有必要先来分析一下Linux2.4系列内核对于网络数据是如何处理的。以下的分析全部基于以太网和IPv4协议。<br />1 收到数据,中断发生<br />通常的,当一块网卡接收到属于其自己MAC地址或者广播的以太网络数据帧时,就会引发一个中断,网卡驱动的中断处理程序获得机会,通过I/O,DMA复制网络帧数据到内存中。然后网络驱动程序将创建一个skb结构,将网络帧数据填充,设置时间戳,区分类型后,将skb送入对应的包接收队列(其实就是添加到系统中的一原创 2010-11-10 22:04:00 · 877 阅读 · 0 评论 -
gcc编译链接时指定头文件和库文件搜索路径
<br />问题:<br />sudo gcc rongji_ssl.c -lssl<br />提示找不到openssl/ssl.h等头文件的错误<br />原因:<br />gcc在系统默认指定的头文件搜索目录下没找到,默认的头文件搜索目录为:<br />/usr/include<br />/usr/local/include<br />以及/usr/lib/gcc下的一些include目录<br />注意以上搜索目录也包含子目录!<br />解决:<br />方法1:sudo cp -rf /usr/l原创 2010-11-10 21:58:00 · 7036 阅读 · 0 评论 -
探寻struct ipq_packet_msg结构体大小
<br />问题来源:<br />在Ubuntu主机上添加一条iptables命令:sudo iptables -A INPUT -p icmp -j QUEUE,将使得流入该系统的icmp数据包由内核转发到IP Queue中,用户空间的应用程序通过netlink协议与内核空间进行通信,将从IP Queue队列中读取转发的icmp数据包。 内核空间向用户空间转发数据包时,包括一个netlink消息头,接着一个struct ipq_packet_msg结构体,最后是IP数据包。<br />当从一个window原创 2010-11-10 22:05:00 · 1718 阅读 · 0 评论 -
剖析Linux系统启动过程
<br /> 当用户打开PC的电源,BIOS开机自检,按BIOS中设置的启动设备(通常是硬盘)启动,接着启动设备上安装的引导程序lilo或grub开始引导Linux,Linux首先进行内核的引导,接下来执行init程序,init程序调用了rc.sysinit和rc等程序,rc.sysinit和rc当完成系统初始化和运行服务的任务后,返回init;init启动了mingetty后,打开了终端供用户登录系统,用户登录成功后进入了Shell,这样就完成了从开机到登录的整个启动过程。<br /><br /> <br转载 2010-11-10 22:08:00 · 666 阅读 · 0 评论 -
Linux下SVN命令
1.svn add:往版本库中添加新的文件 例如:svn add test.php(添加test.php) svn add *.php(添加当前目录下所有的php文件) 2.svn blame (praise, annotate, ann):显示特定文件和URL内嵌的作转载 2011-08-31 17:22:42 · 1973 阅读 · 0 评论 -
Python中调用C++函数
Python开发效率高,运行效率低。而c/c++恰恰相反。因此在python脚本中调用c/c++的库,对python进行扩展,是很有必要的。使用python api,http://www.python.org/doc/ ,需要安装python-dev。 test.cpp文件如下 #include //包含python的头文件 #include #include usin原创 2011-11-27 01:04:38 · 916 阅读 · 0 评论