博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  网络

摘要:下面简介一下如何在Visual Studio 2005中使用WinPcap编写程序。这里只是编写程序之前对Visual Studio 2005的配置,具体如何编写程序,请参看具体WinPcap的文档:http://www.winpcap.org/docs/docs_412/html/main.html。 本教程是参考http://www.winpcap.org/docs/docs_412/html/group__wpcapsamps.html而写的。1、 创建一个工程。2、 定义预处理器:在Visual Studio中选择“项目”(project)----->“属性”(propertie 阅读全文

posted @ 2011-07-17 15:21 天地玄黄 阅读(1638) 评论(1) 推荐(0)

摘要:到现在为止,我看过的书籍基本上是一脉相承的,逐渐深入计算机内部: · C语言深度解剖 ----- 这个是电子书,遇到问题还经常看一看 · C专家编程(Exptert C Programming) ----- 这个看过去就忘了,在图书馆借的书 · C traps and pitfalls ---- 这个也是在图书馆借的,翻译的书,基本上也不怎么记得了 · Linux C一站式编程 ----- 这本... 阅读全文

posted @ 2011-05-30 16:21 天地玄黄 阅读(891) 评论(1) 推荐(0)

摘要:这一章比较混乱,现在整理一下。 一、数据结构: 1、hostent: 这个数据结构用在gethostbyname这个函数中,表示与host 相关的一些 entries. struct hostent { char *h_name; /* official (canonical) name of host */ char **h_aliases; /* pointer to array of po... 阅读全文

posted @ 2011-04-28 11:02 天地玄黄 阅读(350) 评论(0) 推荐(0)

摘要:原文网址:http://cxw06023273.iteye.com/blog/867304 SCTP协议在UNP第2版中还未提及,是在第3版中新增加的,在第9、10、23章介绍SCTP。 SCTP就好象是TCP和UDP的综合体,既可以单播也能多播,而且连接建立过程使用4次握手而不是TCP的3次握手,在相当程度上防止了类似TCP中的syn flood的攻击方法。 SCTP是面向消息而不是面向连接的,... 阅读全文

posted @ 2011-04-21 21:48 天地玄黄 阅读(727) 评论(0) 推荐(0)

摘要:在IPv4中,一个datagram 的大小最大为65535(2^16), IPv4的header 为20 bytes,UDP的header 为8 bytes,所以,data的大小最大就为65507 bytes。 使用Figure 8.7中的Client 的主函数,其中dg_cli 函数重新写了一下,让它可以传送最大的datagram: #include "unp.h"#include <neti... 阅读全文

posted @ 2011-04-21 21:05 天地玄黄 阅读(588) 评论(0) 推荐(0)

摘要:学习《Unix Network Programming》,有一些问题,随遇随写。我所用的书是 W. Richard Stevens, Bill Fenner, Andrew M. Rudoff. UNIX网络编程 卷1:套接字联网API, 英文版 第三版. 人民邮电出版社, 2009年11月第1版 1、 Figure 8.5, P.243:文中说每个TCP都有自己的Buffer,那么这个Buff... 阅读全文

posted @ 2011-04-21 20:50 天地玄黄 阅读(229) 评论(0) 推荐(0)

摘要:函数原型为: #include <netinet/socket.h> int getsockopt(int sockfd, int level, int optname, void *optval, socklen_t *optlen); Return: 0 if OK, –1 on error 这个函数用于获得socket的各种特性,即socket options. 结果放在函数的后两个参数中,... 阅读全文

posted @ 2011-04-20 14:27 天地玄黄 阅读(19019) 评论(1) 推荐(0)

摘要:The following is the code coming from Uinx Network Programming on page 235: int flags; /* set a socket as nonblocking */if( (flags = fcntl(fd, F_GETFL, 0)) < 0) err_sys("F_GETFL error");flags |= O_NON... 阅读全文

posted @ 2011-04-20 10:48 天地玄黄 阅读(321) 评论(0) 推荐(0)

摘要:在《Unix网络编程》中,主要讲Client和Server的交互。有一些规则: 1、在Client端,使用sockfd,而在Server端,使用listenfd: Client:sockfd = Socket(AF_INET, SOCK_STREAM, 0);Server:listenfd = Socket(AF_INET, SOCK_STREAM, 0); 阅读全文

posted @ 2011-04-19 16:02 天地玄黄 阅读(241) 评论(0) 推荐(0)

摘要:这里简要介绍一下多个Client 同时连接Server 时的处理方法: 1、Server 端调用socket(), bind(), listen()函数建立起自己的socket,并且调用accept()函数等待接收来自Client 的信息。此时的accept() 函数处于blocked 状态。 · socket() 函数的作用是建造一个可以使用的网络连接的基础工具。就像我们想要到电话,就需要有一... 阅读全文

posted @ 2011-04-11 10:45 天地玄黄 阅读(570) 评论(0) 推荐(0)