毕业论文
计算机论文
经济论文
生物论文
数学论文
物理论文
机械论文
新闻传播论文
音乐舞蹈论文
法学论文
文学论文
材料科学
英语论文
日语论文
化学论文
自动化
管理论文
艺术论文
会计论文
土木工程
电子通信
食品科学
教学论文
医学论文
体育论文
论文下载
研究现状
任务书
开题报告
外文文献翻译
文献综述
范文
WinPcap基于MFC的局域网监控程序的设计与实现(5)
① 知名端口(Well-Known Ports)
知名端口即众所周知的端口号,范围从0到1023,这些端口号一般固定分配给一些服务。比如21端口分配给FTP服务,25端口分配给SMTP(简单邮件传输协议)服务,80端口分配给HTTP服务,135端口分配给RPC(远程过程调用)服务等等。
② 动态端口(Dynamic Ports)
动态端口的范围从1024到65535,这些端口号一般不固定分配给某个服务,也就是说许多服务都可以使用这些端口。只要运行的程序向系统提出访问网络的申请,那么系统就可以从这些端口号中分配一个供该程序使用。比如1024端口就是分配给第一个向系统发出申请的程序。在关闭程序进程后,就会释放所占用的端口号[13,14]。
2.3 WinPcap介绍
WinPcap主要用于实现在微软平台下捕获数据包。可以提供Winpcap可以为应用程序提供访问网络底层的能力。主要功能包括[15]:
a:捕获原始数据包,包括在共享网络上各主机发送/接收的以及相互之间交换的数据包;
b:在数据包发往应用程序之前,按照自定义的规则将某些特殊的数据包过滤掉;
c:在网络上发送原始的数据包;
d:收集网络通信过程中的统计信息。
2.4 Winsock介绍
套接字(Socket)起源于UNIX,其最初目的是为了在UNIX系统下实现TCP/IP协议,所开发的应用程序接口API(Application Program Interface)。在WINDOWS规范下的API就称之为WinSock接口。它包含了一组针对WINDOWS的扩展库函数,使得可以充分利用WINDOWS编程机制进行简化编程。
实际上,Winsock为计算机提供了一个通讯接口,通过这个接口可以与任意一个装有该接口的终端通信,可以将Winsock看做两个终端之间的高速通道,当建立了这种连接之后,两台计算机就可以通过向连线里面直接书写内容,这样就可以跳过复杂的网络底层结构和协议。套接字技术忽略了各个底层通信之间的差异,使得任一两台终端之间的连接成为可能。
提供给用户的套接字主要有两种形式:分为流式套接字以及数据报套接字[16]:
(1) 流式套接字(Stream Socket):流式是最为长用的一种套接字类型,采用TCP协议,提供了一种可靠的面向连接的双向的连接服务,实现了数据无出错,不会重复发送且按照一定顺序的数据传输。,将数据看做字节流,因此并无数据长度限制,因此流式套接字主要用于大量的数据或按顺序发送数据时使用。
(2) 数据报套接字(Datagram Socket):采用UDP协议使用的接口,提供无连接服务,数据通过相互独立的报文传输,不提供错误检测,也不保证有序和是否重复。在实际使用中统一数据不能保证同一数据包只发送一次,有可能发送多次,直到对方响应为止。
下面介绍几个重要的API的函数及功能如表2-2[17]:
表2-2 常用Win Socket API表
函数 功能
Bind() 调用bind函数来给其绑定一个IP地址和一个特定的端口号
Listen() 调用listen函数使其流套接字s处于监听状态
Connect() 客户Socket s与监听于name所指定的计算机的特定端口上的服务Socket进行连接
Recv() 调用recv函数从TCP连接的另一端接收数据
Send() 调用send函数来向TCP连接的另一端发送数据
Close() 调用close来关闭一个描述符为s套接字
Socket() 调用socket函数来创建一个能够进行网络通信的套接字
共6页:
上一页
1
2
3
4
5
6
下一页
上一篇:
TrueTime网络环境下混沌同步算法的设计与实现
下一篇:
恒压供水系统PLC程序设计+梯形图
基于Kinect手势识别的遥操...
基于51单片机自动门智能控制系统设计
基于TI-DSP平台的电力电子测控平台设计
基于传感器网络的分布式集员滤波问题的研究
基于飞思卡尔芯片LED色彩控制器的设计
基于磁共振技术的家用无...
基于simulink的三相桥式全控...
辩护律师的作证义务和保...
高校网球场馆运营管理初探【1805字】
中国古代秘书擅权的发展和恶变
浅谈新形势下妇产科护理...
国内外无刷直流电动机研究现状
拉力采集上位机软件开发任务书
浅谈传统人文精神茬大學...
谷度酒庄消费者回访调查问卷表
多元化刑事简易程序构建探讨【9365字】
《醉青春》导演作品阐述