随笔分类 -  网络

udphdr结构
摘要:udphdr结构包含在/usr/src/linux/include/linux/udp.h1 struct udphdr {2 __u16 source;3 __u16 dest;4 __u16 len;5 __u16 check;6 }; |----------------|----------------|------------- | source | dest | |----------------|----------------| | len|check| |--------------------------... 阅读全文

posted @ 2014-03-24 14:55 程良 阅读(1967) 评论(0) 推荐(0) 编辑

tcphdr结构
摘要:包含在/usr/src/linux/include/linux/tcp.h 1 struct tcphdr { 2 __be16 source; 3 __be16 dest; 4 __be32 seq; 5 __be32 ack_seq; 6 #if defined(__LITTLE_ENDIAN_BITFIELD) 7 __u16 res1:4, 8 doff:4, 9 fin:1,10 syn:1,11 rst:1,12 psh... 阅读全文

posted @ 2014-03-22 20:40 程良 阅读(5301) 评论(0) 推荐(0) 编辑

iphdr结构
摘要:包含在/usr/src/linux/include/linux/ip.h 1 struct iphdr { 2 #if defined(__LITTLE_ENDIAN_BITFIELD) 3 __u8 ihl:4, 4 version:4; 5 #elif defined (__BIG_ENDIAN_BITFIELD) 6 __u8 version:4, 7 ihl:4; 8 #else 9 #error "Please fix "10 #endif11 __u8 tos;12 __be16 ... 阅读全文

posted @ 2014-03-21 16:58 程良 阅读(1087) 评论(0) 推荐(0) 编辑

IP选路
摘要:选路是IP最重要的功能之一。图1是IP层处理过程的简单流程。需要进行选路的数据报可以由本地主机产生,也可以由其他主机产生。在后一种情况下,主机必须配置成一个路由器,否则通过网络接口接收到的数据报,如果目的地址不是本机就要被丢弃。图1:IP层工作流程图1中的路由表经常被IP访问(在一个繁忙的主机上,一秒钟内可能要访问几百次),但是它被路由守护程序等更新的频度却要低得多(可能大约30秒一次)。选路的原理IP搜索路由表的几个步骤: 1)搜索匹配的主机地址; 2)搜索匹配的网络地址; 3)搜索默认表项(默认表项一般在路由表中被指定为一个网络表项,其网络号为0)。匹配主机地址步骤始终发生在匹配网... 阅读全文

posted @ 2014-03-20 19:35 程良 阅读(695) 评论(0) 推荐(0) 编辑

ping命令
摘要:Ping命令是对两个TCP/IP系统连通性进行测试的基本工具,目的是为了测试目标主机是否可达。它利用ICMP回显请求(8,0)和回显应答(0,0)报文,而不用经过传输层(TCP/UDP)。Ping服务器一般在内核中实现ICMP的功能,Ping只有在安装了TCP/IP协议以后才可以使用。Ping命令结构我们称发送回显请求的Ping程序为客户,被Ping的主机为服务器。ICMP回显请求和回显应答报文:Ping命令的类型值为8或0,代码值为0。标识符:Unix系统在实现Ping程序时把ICMP报文中的标识符字段设置成发送进程的ID号。这样可以区分多个Ping实例。序列号:从0开始,每发送一次新的回显 阅读全文

posted @ 2014-03-20 19:14 程良 阅读(1517) 评论(0) 推荐(0) 编辑

动态选路协议
摘要:http://www.cppblog.com/aurain/archive/2008/08/21/59542.html 阅读全文

posted @ 2014-03-20 16:41 程良 阅读(101) 评论(0) 推荐(0) 编辑

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 程良 阅读(2372) 评论(0) 推荐(0) 编辑

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

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

Socket编程详解
摘要:什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。 Socket接口设计者最先是将接口放在Unix操作系统里面的。如果了解Unix系统的输入和输出的话,就很容易了解Socket了。网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的.. 阅读全文

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

网络之基础知识
摘要:TCP/IP是个协议集,根据OSI的七层理论,TCP/IP分为四层,分别是:应用层,传输层,网络层,数据链路层.我们一般说TCP在传输层,而IP在Internet层,TCP/IP的应用程序包括我们平时经常用到的Ping,Telnet,Ftp,Finger等等 一、IP地址的概念 我们知道因特网是全世界范围内的计算机联为一体而构成的通信网络的总称。联在某个网络上的两台计算机之间在相互通信时,在它们所传送的数据包里都会含有某些附加信息,这些附加信息就是发送数据的计算机的地址和接受数据的计算机的地址。象这样,人们为了通信的方便给每一台计算机都事先分配一个类似我们日常生活中的电话号码一样的标... 阅读全文

posted @ 2014-03-14 11:05 程良 阅读(426) 评论(0) 推荐(0) 编辑

Linux 系统下10个查看网络与监听的命令
摘要:下面列出来的10个基础的每个linux用户都应该知道的网络和监控命令。网络和监控命令类似于这些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtool 用于查看linux服务器ip地址,管理服务器网络配置 ,通过 telnet 和ethernet建立与linux之间的网络链接,查看linux的服务器信息等。下面让我们看看在linux下的网络和监控命令的使用。1. hostnamehostname 没有选项,显示主机名字hostname –d显示机器所属域名host.. 阅读全文

posted @ 2014-03-12 19:24 程良 阅读(4293) 评论(0) 推荐(0) 编辑

导航