wjlkoorey258

2016年7月24日

Linux网络编程:原始套接字的魔力【上】

摘要: 基于原始套接字编程 在开发面向连接的TCP和面向无连接的UDP程序时,我们所关心的核心问题在于数据收发层面,数据的传输特性由TCP或UDP来保证: 也就是说,对于TCP或UDP的程序开发,焦点在Data字段,我们没法直接对TCP或UDP头部字段进行赤裸裸的修改,当然还有... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(551) 评论(0) 推荐(0)

Linux网络编程:基于UDP的程序开发回顾篇

摘要: 基于无连接的UDP程序设计 同样,在开发基于UDP的应用程序时,其主要流程如下: 对于面向无连接的UDP应用程序在开发过程中服务端和客户端的操作流程基本差不多。对比面向连接的TCP程序,服务端少了listen和accept函数。前面我们也说过listen函数最主要的作用... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(175) 评论(0) 推荐(0)

Linux网络编程:基于TCP的程序开发回顾篇

摘要: 面向连接的TCP程序设计 基于TCP的程序开发分为服务器端和客户端两部分,常见的核心步骤和流程: 其实按照上面这个流程调用系统API确实可以完全实现应用层程序的开发,一点问题没有。可随着时间的推移,你会觉得这样子的开发毫无激情。为什么TCP的开发就要按照这样的流程来呢?... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(577) 评论(0) 推荐(0)

Linux环境下网络编程杂谈

摘要: 今天我们说说“Pre-网络编程”。内容比较杂,但都是在做网络应用程序开发过程中经常要遇到的问题。 一、大端、小端和网络字节序 小端字节序:little-endian,将低字节存放在内存的起始地址; 大端字节序:big-endian,将高字节存放在内存的其实地址。 例如,数字in... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(180) 评论(0) 推荐(0)

SNMP从入门到开发:进阶篇

摘要: 管理信息库:MIB 我们要扩展mib首先必须清楚mib是如何定义的,用的什么语言,有哪些约定,遵循哪些规则等等。这些基本东西掌握过后,我们就可以很轻松的来写自己的mib文件了。 所谓管理信息库,或者MIB,就是所有代理进程包含的、并且能够被管理进程进行查询和设置的信息的集合,或者叫管理对象的集... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(535) 评论(0) 推荐(0)

(十六)洞悉linux下的Netfilter&iptables:开发自己的hook函数【实战】(下)

摘要: 从用户空间来操作内核中Netfilter框架里自定义的HOOK函数 本文承上一篇博客。主要是和大家探讨一下如何从用户空间操作我已经注册到Netfilter中的自定义hook函数。有些童鞋可能就纳闷,难道iptables不能操作到么?如果我们需要让iptables操作我们在Net... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(356) 评论(0) 推荐(0)

(十五)洞悉linux下的Netfilter&iptables:开发自己的hook函数【实战】(上)

摘要: 向Netfilter中注册自己的hook函数 数据包在协议栈中传递时会经过不同的HOOK点,而每个HOOK点上又被Netfilter预先注册了一系列hook回调函数,当每个清纯的数据包到达这些点后会被这些可恶hook函数轮番调戏一番。有时候我们就在想,只让系统自带的这些恶棍来快活... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(642) 评论(0) 推荐(0)

(十四)洞悉linux下的Netfilter&iptables:开发一个match模块【实战】

摘要: 自己开发一个match模块 今天我们来写一个很简单的match来和大家分享如何为iptables开发扩展功能模块。这个模块是根据IP报文中有效载荷字段的长度来对其进行匹配,支持固定包大小,也支持一个区间范围的的数据包,在用户空间的用法是: iptables -A... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(464) 评论(0) 推荐(0)

(十三)洞悉linux下的Netfilter&iptables:为防火墙增添功能模块【实战】

摘要: 为netfilter/iptables增添新功能模块:ipp2p 一个防火墙功能模块包含两部分:内核空间的ko模块和用户空间的so模块。如下: 而且文件的命令都非常有讲究。例如我们有个模块名叫AAA,那么内核中该模块的文件名一般为ipt_AAA.c和ipt_AAA.h;对应的用户空间模... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(531) 评论(0) 推荐(0)

(十二)洞悉linux下的Netfilter&iptables:iptables命令行工具源码解析【下】

摘要: iptables用户空间和内核空间的交互 iptables目前已经支持IPv4和IPv6两个版本了,因此它在实现上也需要同时兼容这两个版本。iptables-1.4.0在这方面做了很好的设计,主要是由libiptc库来实现。libiptc是iptables control library的简称,... 阅读全文

posted @ 2016-07-24 10:58 wjlkoorey258 阅读(1345) 评论(0) 推荐(0)

导航