网络
文章平均质量分 68
l-_-l
这个作者很懒,什么都没留下…
展开
-
IP/UDP/TCP/ICMP的校验和
在发送数据时,为了计算数IP据报的校验和。应该按如下步骤:(1) 把IP数据报的校验和字段置为0。(2) 把首部看成以16位为单位的数字组成,依次进行二进制反码求和(3) 把得到的结果存入校验和字段中。在接收数据时,计算数据报的校验和相对简单,按如下步骤:(1)把首部看成以16位为单位的数字组成,依次进行二进制反码求和,包括校验和字段。(2)检查计算出的校验和的结果是否转载 2012-04-26 09:55:54 · 914 阅读 · 0 评论 -
IP、TCP、UDP、ICMP、IGMP包首部中的检验和都是针对哪部分的?
IP包中的检验和是针对IP首部做检验的。TCP、UDP、ICMP、IGMP包首部中的检验和都是针对整个包(首部和数据部分)做检验的。TCP是面向连接的协议,要保证可靠交付,但TCP不相信底层的协议,所以它要使用自己的校验IP协议是无连接的协议,只保证尽力交付,计算校验和是为了防止路由信息错误 IP数据报的检验和: 为了计算一份数据报的I P检验和,首先把检验和字原创 2012-04-26 21:31:25 · 1721 阅读 · 0 评论 -
ICMP校验和算法 说明
unsigned short cal_chksum(unsigned short *addr,int len){ int nleft=len; int sum=0; unsigned short *w=addr; unsigned short answer=0;/*把ICMP报头二进制数据以2字节为单位累加起来*/原创 2012-04-26 21:33:41 · 3085 阅读 · 0 评论 -
HTTP协议的C语言编程实现实例
/******* http客户端程序 httpclient.c ************/ #include #include #include #include #include #include #include #include #include #include #include #include //////转载 2012-04-26 16:45:43 · 815 阅读 · 0 评论 -
linux网络编程:用C语言实现的聊天程序(异步通信)
本片文章,在上一篇:linux网络编程:用C语言实现的聊天程序(同步通信) 的基础上,增加了IO复用的功能,实现了聊天程序的异步通讯!1、使用IO复用可以在等待的时候加入了超时的时间,如果等待的时间没有达到超时时间,那么该情况与阻塞的情况一致。而当超时的时间到达时,仍没有数据接收到,系统回返回0,不再等待。select函数就实现了这个功能。2、select函数原型int转载 2012-04-26 16:43:20 · 723 阅读 · 0 评论 -
linux网络编程:用C语言实现的聊天程序(同步通信)
通过TCP协议,用C语言实现的同步聊天程序,注释写的比较详细,个人觉得对字符串处理比较充分,能够正常编译运行,拿出来和大家分享一下!1、客户端源代码:#include stdio.h>#include stdlib.h>#include string.h>#include errno.h>#include sys/socket.h>#转载 2012-04-26 16:41:48 · 779 阅读 · 0 评论 -
SYN_FLOOD攻击
ip.h----------------------------------------------------------------------------------------#ifndef _IP_H__#define _IP_H__#include #include #include // ip 报头struct ip{//小端法#if转载 2012-04-26 10:17:46 · 451 阅读 · 0 评论 -
网络的各种协议类型
可以查看具体类型:cat /etc/protocols#define IPPROTO_IP 0 /* dummy for IP */#define IPPROTO_ICMP 1 /* control message protocol */#define IPPR转载 2012-04-26 10:14:49 · 678 阅读 · 0 评论 -
ICMP协议基本格式
ICMP是IP层的一个组成部分,它传递查询报文和差错报文,ICMP报文通常被IP层或更高层协议(TCP或UDP)使用,它是在IP数据包内被传输的,如图1所示。图1:ICMP封装在IP数据包内部 ICMP报文格式 如图2所示,所有报文的前4个字节都是一样的,但是剩下的其他字节则互不相同。图2:ICMP报文格式类型字段可以有15个不同的值,以描述特定类型的ICMP转载 2012-04-26 09:47:05 · 1067 阅读 · 0 评论 -
socket(AF_INET, SOCK_RAW, IPPROTO_IP)的意思
这是include/linux/in.h里的定义:/* Standard well-defined IP protocols. */enum {IPPROTO_IP = 0, /* Dummy protocol for TCP */IPPROTO_ICMP = 1, /* Internet Control Message Protocol */IPPROTO_IGM转载 2012-04-26 15:39:39 · 3980 阅读 · 0 评论 -
一些协议分层
网络层:ip icmp igmp arp rarp传输层:tcp udp应用层:ftp snmp telnet http。。。。注:DNS绝大多数是使用UDP的。原创 2012-05-05 21:32:01 · 285 阅读 · 0 评论