加载中…
  
博文

http://blog.csdn.net/kzm2008/article/details/5372834

man 7 ip

man 7 packet   

Packet  sockets  are used to receive or send raw packets at the device driver (OSI Layer 2) level.  They allow the user to implement protocol modules in user space on top of the physical layer. 用AF_INET,上层代码无法获取以太头部信息。

1.原始套接字(raw socket)  1.1 原始套接字工作原理与规则         原始套接字是一个特殊的套接字类型,它的创建方式跟TCP/UDP创建方法几乎是一摸一样,例如,通过

CODE:

[Copy to clipboard]

       int sockfd;       sockfd = socktet(AF_INET, SOCK_RAW, IPPROTO_ICMP);

这两句程序你就可以创建一个原始套接字.然而这种类型套接字的功能却与TCP或者UDP类型套接字的功能有很大的不同:TCP/UDP类型的套接

标签:

it

分类: linux应用

gon1.4 线程创建的Linux实现
我们知道,Linux的线程实现是在核外进行的,核内提供的是创建进程的接口do_fork()。内核提供了两个系统调用__clone()fork ()最终都用不同的参数调用do_fork()核内API。当然,要想实现线程,没有核心对多进程(其实是轻量级进程)共享数据段的支持是不行的,因 此,do_fork()提供了很多参数,包括CLONE_VM(共享内存空间)、CLONE_FS(共享文件系统信息)、CLONE_FILES(共享文 件描述符表)、CLONE_SIGHAND(共享信号句柄表)和CLONE_PID(共享进程ID,仅对核内进程,即0号进程有效)。当使用fork系统 调用时,内核调用do_fork()不使用任何共享属性,进程拥有独立的运行环境,而使用pthread_create()来创建线程时,则最终设置了所 有这些属性来调用__clone(),而这些参数又全部传给核内的do_fork(),从

标签:

c语言实现判断ip地址

it

分类: socket编程
http://s6/mw690/6abf2c04tx6DgKIKuQB45&690

如果我们必须设置我们的网络,我们就必须确定我们的网络掩码是多少。下表列出A,B,C类地址的网络掩码:
标签:

it

分类: socket编程
OSI七层网络模型由下至上为1至7层,分别为物理层(Physical layer),数据链路层(Data link layer),网络层(Network layer),传输层(Transport layer),会话层(Session layer),表示层(Presentation layer),应用层(Application layer)。
标签:

it

分类: socket编程
在Linux下获得本机的IP地址,有以下几种方法,现终结如下:其中主要用到的,数据结构有以下几个。
struct ifreq 其定义在 /usr/include/net/if.h中。主要用来配置ip,激活接口信息。通常会和ifconf结合起来使用。这里有篇介绍这两个数据结构比较好的文章,链接如下:
http://tech.sunplusedu.com/space/post-4064.aspx
   网上有介绍可以使用gethostname函数和gethostbyname函数获得本机的IP地址,其实获得的是127.0.0.1,是一个回环的地址。而不是真正的本机IP地址。

  
标签:

it

分类: linux驱动内核

attribute 用法 section 部分

http://blog.sina.

  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有