2021年发送TCP数据包

2021年发送TCP数据包

ID:69421538

大小:60.17 KB

页数:17页

时间:2021-11-03

2021年发送TCP数据包_第1页
2021年发送TCP数据包_第2页
2021年发送TCP数据包_第3页
2021年发送TCP数据包_第4页
2021年发送TCP数据包_第5页
2021年发送TCP数据包_第6页
2021年发送TCP数据包_第7页
2021年发送TCP数据包_第8页
2021年发送TCP数据包_第9页
2021年发送TCP数据包_第10页
资源描述:

《2021年发送TCP数据包》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、发送TCP数据包1.3相关学问

2、精.

3、品.

4、可.

5、编.

6、辑.

7、学.

8、习.

9、资.

10、料.*

11、*

12、*

13、*

14、

15、欢.

16、迎.编制本程序前要对TCP协议有肯定的明白;当应用程序有报文需要通过TCP发送时,它就将此应用层报文传送给执行TCP协议的传输实体;TCP传输实体将用户数据加上TCP报头,形成TCP数据包,在TCP数据包上增加IP头部,形成IP包;下图显示的为TCP数据包和IP包的关系;TCP报头TCP数据

17、下.

18、载.IP报头IP数据TCP协议的传输单元为报文段,其格式如下列图;报文段报头的长度为20B~60B;其中固定长度为20B,报文段长度最多为40B;TCP报文段主要包括以

19、下字段;·埠号:埠号字段包括源埠号和目的埠号;每个埠号的长度为16位,分别表示发送该TCP包的应用进程的埠号和接收该TCP包的应用进程的埠号;·序号:长度为32位;由于TCP协议为面对数据流的,它所传送的报文段可以视为连续的数据流,因此需要给每一个字节编号;序号字段的“序号”指的为本报文段数据的第一个字节的次序号;TCP头部数据0151631源端口号目的端口号序号确认号1第1页,共13页报保URGACKPSHRSTSYNFIN窗口大小头留长度校验和紧急指针选项及填充

20、精.

21、品.

22、可.

23、编.

24、辑.

25、学.

26、习.

27、资.

28、料.*

29、*

30、*

31、*

32、

33、欢.

34、迎.

35、下.

36、载.·确认号:该字

37、段的长度为32位,它表示接收端期望接收的下一个TCP包的第一个字节的序号;·报头长度:该字段长度为4位;TCP报头长度为以4B为一个单元来运算的,实际上报头长度在20B~60B子间;因此这个字段的值在5~15之间;·保留:长度为6位,留作今后使用,目前全部置0;·掌握:这个字段定义了6种不同的标志,每个标志占一位,在同一时间可以设置一位或多位;URG为1时,说明有需要紧急处理的数据;ACK为1时,说明确认号的字段有效;PST位为1时,说明要强制切断连接;SYN位为1时,说明有确立连接的恳求,这时,把序号字段的初始值作为序号字段的值,以便开头通信;FIN为1时,说明发送方已经

38、没有资料发送了;·窗口大小:长度为16位,窗口对应的数据为以字节为单位的数据,因此最多能够传送的数据为65535B;·紧急指针:该字段的长度为16位,指向必需紧急处理的数据的位置,只有当标志URG=1时紧急指针才有效;从TCP报头后面的报文资料开头,到紧急指针所指出的长度的数据,就为必需紧急处理的数据;·选项:该字段可以多达40B,包括单字节选项和多字节选项;·校验和:该字段长度多达16位,校验和的校验范畴包括伪头部.TCP报头以及应用层来的数据;其运算方法与IP协议头部的校验的运算方法一样;伪头部为12B,它本身并不为TCP数据包的真正头部,只为在运算校验和时,临时和TC

39、P数据包连接在一起;伪头部的格式如下图所示;源IP地址目的IP地址00000000协议号(6)TCP长度2第2页,共13页1.3工作环境软件:MicrosoftVisualC++6.0;硬件:PC机一台;二课程设计分析

40、精.

41、品.

42、可.

43、编.

44、辑.

45、学.

46、习.

47、资.

48、料.*

49、*

50、*

51、*

52、

53、欢.

54、迎.

55、下.

56、载.本课程设计的目标为发送一个TCP资料包,可以利用原始套接字来完成这个工作;整个程序由初始化原始套接字和发送TCP数据包两个部分组成;2.1使用原始套接字SOCKETsock;sock=socket〔AF_INET、SOCK_RAW、IPPROTO_IP〕;或者:so

57、ck=WSASoccket〔AF_INET、SOCK_RAW、IPPROTO_IP、NULL、0、WSA_FLAG_OVERLAPPED〕;这里,我们设置了SOCK_RAW标志,表示我们声明的为一个原始套接字类型;为使用发送接收超时设置、必需将标志位置位置为WSA_FLAG_OVERLAPPED;在本课程设计中,发送TCP包时隐匿了自己的IP地址,因此我们要自己填充IP头,设置IP头操作选项;其中flag设置为ture,并设定IP_HDRINCL选项,说明自己来构造IP头;留意,假如设置IP_HDRINCL选项,那么必需具有administrator权限,要不就必需修改注册

58、表:HKEY_LOCAL_MACHINESystemCurrentControlSetServicesAfdParameter修改键:DisableRawSecurity(类型为DWORD),把值修改为1;假如没有,就添加;BOOLFlag=TRUE;3第3页,共13页setsockopt〔sock、IPPROTO_IP、IP_HDRINCL、〔char*〕&Flag、sizeof〔Flag〕〕;inttimeout=1000;setsockopt〔sock、SOL_SOCKET、SO_SNDTIMEO

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。