上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 100 下一页

2013年7月25日

UNIX网络编程——使用select函数的TCP和UDP回射服务器程序

摘要: 服务器程序:#include #include #include #include #include #include #include #include #include #include #include #include #include #define SERV_PORT 3334#def... 阅读全文

posted @ 2013-07-25 19:16 胡永光 阅读(247) 评论(0) 推荐(0) 编辑

UNIX网络编程——UDP 中的外出接口的确定

摘要: 已连接UDP套接字还可用来确定用于特定目的地的外出接口。这是由connect函数应用到UDP套接字时的一个副作用造成的:内核选择本地IP地址。这个本地IP地址通过为目的IP地址搜索路由表得到外出接口,然后选用该接口的主IP地址而选定。 注意:getsockname函数调用的位置。#... 阅读全文

posted @ 2013-07-25 18:38 胡永光 阅读(225) 评论(0) 推荐(0) 编辑

UNIX网络编程——UDP缺乏流量控制(改进版)

摘要: 现在我们查看无任何流量控制的UDP对数据报传输的影响。首先我们把dg_cli函数修改为发送固定数目的数据报,并不再从标准输入读。如下,它写2000个1400字节大小的UDP数据报给服务器。客户端程序cli.c:#include #include #include #include #in... 阅读全文

posted @ 2013-07-25 18:05 胡永光 阅读(429) 评论(0) 推荐(0) 编辑

UNIX网络编程——UDP 的connect函数(改进版)

摘要: 上一篇我们提到,除非套接字已连接,否则异步错误是不会返回到UDP套接字的。我们确实可以给UDP套接字调用connect,然而这样做的结果却与TCP连接大相径庭:没有三次握手。内核只是检查是否存在立即可知的错误(例如一个显然不可达的目的地),记录对端的IP地址和端口号(取自传递给conne... 阅读全文

posted @ 2013-07-25 15:53 胡永光 阅读(296) 评论(0) 推荐(0) 编辑

UNIX网络编程——UDP回射服务器程序(初级版本)以及漏洞分析

摘要: 该函数提供的是一个迭代服务器,而不是像TCP服务器那样可以提供一个并发服务器。其中没有对fork的调用,因此单个服务器进程就得处理所有客户。一般来说,大多数TCP服务器是并发的,而大多数UDP服务器是迭代的。 对于本套接字,UDP层中隐含有排队发生。事实上每个UDP套接字都有一个... 阅读全文

posted @ 2013-07-25 14:53 胡永光 阅读(197) 评论(0) 推荐(0) 编辑

UNIX网络编程——基于UDP协议的网络程序

摘要: 一、下图是典型的UDP客户端/服务器通讯过程 下面依照通信流程,我们来实现一个UDP回射客户/服务器: #include #include ssize_t send(int sockfd, const void... 阅读全文

posted @ 2013-07-25 14:01 胡永光 阅读(158) 评论(0) 推荐(0) 编辑

UNIX网络编程——UDP编程模型

摘要: 使用UDP编写的一些常见得应用程序有:DNS(域名系统),NFS(网络文件系统)和SNMP(简单网络管理协议)。 客户不与服务器建立连接,而是只管使用sendto函数给服务器发送数据报,其中必须指定目的地(即服务器)的地址作为参数。类似的,服务器不接受来自客户的连接,而是只管调用... 阅读全文

posted @ 2013-07-25 12:16 胡永光 阅读(106) 评论(0) 推荐(0) 编辑

UNIX网络编程——SOCKET API和TCP STATE的对应关系_三次握手_四次挥手及TCP延迟确认

摘要: 在socket系统调用中,如何完成三次握手和四次挥手: SOCK_DGRAM即UDP中的connect操作知识在内核中注册对方机器的IP和PORT信息,并没有建立连接的过程,即没有发包,close也不发包)。 而SOCK_STREAM对应如下: connect会完成TCP的... 阅读全文

posted @ 2013-07-25 11:32 胡永光 阅读(272) 评论(0) 推荐(0) 编辑

UNIX网络编程——通用套接字选项

摘要: 1. SO_BROADCAST 套接字选项 本选项开启或禁止进程发送广播消息的能力。只有数据报套接字支持广播,并且还必须是在支持广播消息的网络上(例如以太网,令牌环网等)。我们不可能在点对点链路上进行广播,也不可能在基于连接的传输协议(例如TCP和SCTP)之上进行广播。 2. SO_DE... 阅读全文

posted @ 2013-07-25 10:54 胡永光 阅读(168) 评论(0) 推荐(0) 编辑

UNIX网络编程——产生RST

摘要: 产生RST的3个条件:1. 建立连接的SYN到达某端口,但是该端口上没有正在监听的服务。 如:IP为192.168.1.33的主机上并没有开启WEB服务(端口号为0x50),这时我们通过IE去访问192.168.1.33,通过Wireshark抓包,可以看到,对此SYN包的回复为RST。说明此... 阅读全文

posted @ 2013-07-25 01:54 胡永光 阅读(120) 评论(0) 推荐(0) 编辑

上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 100 下一页

导航