2014年3月15日

ICMP协议

摘要: 1 // ICMP header 2 typedef struct _tagX_icmphdr 3 { 4 unsigned char i_type; //类型 5 unsigned char i_code; //代码 6 unsigned short i_cksum; //检验和 7 unsigned short i_id; //标识符 8 unsigned short i_seq; //序列号 9 unsigned long i_timestamp;//当前时间 =(unsigned long)::GetTick... 阅读全文

posted @ 2014-03-15 17:06 程良 阅读(2360) 评论(0) 推荐(0) 编辑

ARP:地址解析协议

摘要: 我们假设这样一个场景:你需要和你网络中的一个设备进行通信,这个设备可能是某种服务器。你用来创建这个通信的应用已经得到了这个远程主机的ip地址,也意味着系统已经有了用来构建它想要在第三层到第7层传递数据包所需要的信息。这时它所需要的唯一的信息就是第二层包含目标主机MAC地址的数据链路层数据。之所以需要MAC地址,是因为网络中用于连接各个设备的交换机使用了内容寻址寄存器(CAM),这个表列出了它在每一个端口所有连接设备的MAC地址。当交换机收到了一个指定MAC地址的流量,它会使用这个表,来确定应该使用哪个端口发送流量。如果目标的MAC地址是未知的,这个传输设备会首先在它的缓存中查询这个非地址,如果 阅读全文

posted @ 2014-03-15 11:09 程良 阅读(449) 评论(0) 推荐(0) 编辑

Linux下的Shell工作原理

摘要: Linux下的Shell工作原理 Linux系统提供给用户的最重要的系统程序是Shell命令语言解释程序。它不属于内核部分,而是在核心之外,以用户态方式运行。其基本功能是解释并执行用户打入的各种命令,实现用户与Linux核心的接口。系统初启后,核心为每个终端用户建立一个进程去执行Shell解释程序。它的执行过程基本上按如下步骤: (1)读取用户由键盘输入的命令行。 (2)分析命令,以命令名作为文件名,并将其它参数改造为系统调用execve( )内部处理所要求的形式。 (3)终端进程调用fork( )建立一个子进程。 (4)终端进程本身用系统调用wait4( )来等待子进程完成(如果是后台命令. 阅读全文

posted @ 2014-03-15 11:08 程良 阅读(1270) 评论(2) 推荐(0) 编辑

导航