汽车理论第六版清华大学余志生 主编
c++的socket编程相关资料汇总
资料详细技术说明
1、原始套接字透析之前言
大多数程序员所接触到的套接字(Socket)为两类服务应用:
(1)流式套接字(SOCK-STREAM):一种面向连接的Socket,针对于面向连接的TCP
(2)数据报式套接字(SOCK-DGRAM):一种无连接的Socket,对应于无连接的UDP服务应用.
从用户的角度来看,SOCK-STREAM,SOCK-DGRAM这两类套接字似乎的确涵盖了TCP/IP应用的全部,因为基于TCPIP的应用,从协议栈的层次上讲,在传输层的确只可能建立于TCP或UDP协议之上(图1),而SOCK STREAM,SOCK DGRAM又分别对应于TCP和UDP,所以几乎所有的应用都可以用这两类套接字实现。
但是,当我们面对如下问题时,SOCK_STREAM,SOCK DGRAM将显得这样无助:
(1).怎样发送一个自定义的IP包?
(2)怎样发送一个ICMP协议包?
(3)怎样使本机进入杂糅模式,从而能够进行网络sniffer?
(4)怎样分析所有经过网络的包,而不管这样包是否是发给自己的?
(5)怎样伪装本地的IP地址?
这使得我们必须面对另外一个深刻的主题--原始套字(Raw Socket),Raw Socket广泛应用于高级网络编程,也是一种广泛的黑客手段。著名的网络sniffer、拒绝服务攻击
(DOS),IP欺骗等都可以以Raw Socket实现。
Raw Socket与标准套接字(SOCK STREAM,SOCK DGRAM)的区别在于前者直接置"根"于操作系统网络核心(Network Core),而SOCK STREAM.SOCK DGRAM则"悬浮
“于TCP和UDP协议的外围,如图2所示:
相关技术资料推荐
下载与解压说明
下载积分规则
- 本资源下载仅需 2 积分
- 24 小时内重复下载免扣积分
- VIP 会员享专属免积分高速通道
文件解压指南
- 推荐使用 7-Zip 或新版 WinRAR 解压
- 原理图与 PCB 请使用对应 EDA 软件打开
- 压缩包内源码可直接在上方在线预览
免费获取积分
- 新用户注册即赠送 10 积分
- 上传分享工程资料可获得持续积分奖励
- 查看积分规则与会员权益 →