虫虫首页|资源下载|资源专辑|精品软件
登录|注册

您现在的位置是:虫虫下载站 > 资源下载 > 技术资料 > c++的socket编程相关资料汇总

c++的socket编程相关资料汇总

  • 资源大小:3186 K
  • 上传时间: 2022-06-18
  • 上传用户:得之我幸78
  • 资源积分:2 下载积分
  • 标      签: socket C++

资 源 简 介

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所示:


相 关 资 源