基于raw socket的嗅探器设计与实现(选座题目及资料)

基于raw socket的嗅探器设计与实现(选座题目及资料)

ID:3670089

大小:77.00 KB

页数:13页

时间:2017-11-22

基于raw socket的嗅探器设计与实现(选座题目及资料)_第1页
基于raw socket的嗅探器设计与实现(选座题目及资料)_第2页
基于raw socket的嗅探器设计与实现(选座题目及资料)_第3页
基于raw socket的嗅探器设计与实现(选座题目及资料)_第4页
基于raw socket的嗅探器设计与实现(选座题目及资料)_第5页
资源描述:

《基于raw socket的嗅探器设计与实现(选座题目及资料)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于RawSocket的嗅探器设计与实现功能:基于RawSocket实现IP层以上原始数据包的发送和接收。一.摘要RawSocket:原始套接字,可以用它来发送和接收IP层以上的原始数据包,如ICMP,TCP,UDP...intsockRaw=socket(AF_INET,SOCK_RAW,IPPROTO_RAW);Sniffer(嗅探器)基本原理与实现过程1.把网卡置于混杂模式;2.捕获数据包;3.分析数据包.二.把网卡置于混杂模式在正常的情况下,一个网络接口应该只响应两种数据帧:l与自己硬件地址相匹配的数据帧l发向所有机器的广播数据帧如果要网卡接收发向所有机器的广播数据帧,就必须把网卡

2、置于混杂模式。用RawSocket实现代码如下://设置IP头操作选项setsockopt(sock,IPPROTO_IP,IP_HDRINCL,(char*)&flag,sizeof(flag);//把sockRaw绑定到本地网卡上bind(sockRaw,(PSOCKADDR)&addrLocal,sizeof(addrLocal);//让sockRaw接受所有的数据ioctlsocket(sockRaw,SIO_RCVALL,&dwValue);flag标志是用来设置IP头操作的,也就是说要亲自处理IP头:boolflag=ture;addrLocal为本地地址:SOCKADDR_I

3、NaddrLocal;dwValue为输入输出参数,为1时执行,0时取消:DWORDdwValue=1;三.捕获数据包#defineBUFFER_SIZE65535charRecvBuf[BUFFER_SIZE];//接受任意数据包recv(sockRaw,RecvBuf,BUFFER_SIZE,0);四.分析数据包用recv()接收到的数据包中包含IP、TCP等原始信息。要分析它首先得知道这些结构.数据包的总体结构:----------------------------------------------

4、ipheader

5、tcpheader(orxheader)

6、data

7、-----

8、-----------------------------------------IPheaderstructure:481632bit

9、--------

10、--------

11、----------------

12、--------------------------------

13、

14、Ver

15、IHL

16、Typeofservice

17、Totallength

18、

19、--------

20、--------

21、----------------

22、--------------------------------

23、

24、Identification

25、Flags

26、Fragmentoffset

27、

28、--------

29、--------

30、-

31、---------------

32、--------------------------------

33、

34、Timetolive

35、Protocol

36、Headerchecksum

37、

38、--------

39、--------

40、----------------

41、--------------------------------

42、

43、Sourceaddress

44、

45、--------

46、--------

47、----------------

48、--------------------------------

49、

50、Destinationaddress

51、

52、--------

53、--------

54、----------------

55、----

56、----------------------------

57、

58、Option+Padding

59、

60、--------

61、--------

62、----------------

63、--------------------------------

64、

65、Data

66、

67、--------

68、--------

69、----------------

70、--------------------------------

71、TCPheaderstructure:1632bit

72、--------------------------------

73、--------------------------------

74、

75、Sourceport

76、Dest

77、inationport

78、

79、--------------------------------

80、--------------------------------

81、

82、Sequencenumber

83、

84、--------------------------------

85、--------------------------------

86、

87、Acknowledgementnumber

88、

89、--------------------------

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

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

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