路由器实验报告.docVIP

  • 2
  • 0
  • 约9.49千字
  • 约 13页
  • 2023-09-13 发布于湖北
  • 举报
路由器实验报告 简介 采用静态路由表 采用静态mac表 实现双网卡转发 采用两个程序分别在两个网卡上抓包和转发 流程图 实现步骤 ①打开所有设备 ②分别选择两块网卡 ③在一块网卡上抓包同时过滤 ④查找路由表 若不在路由表中则重新抓包 ⑤修改目的mac并转发 ⑥总结 上面的是一个程序,另外一个程序于此相同,只不过上面的是在无线网卡上抓包有线网卡上发,另一个是在有线网卡上抓,无线网卡上发 采用两个程序,分别在两块网卡上抓包和转发,两个程序同时运行,能够实现路由器的功能 出现过的问题 期末压力较大,没有时间做更细致的,路由表和mac表都采用的静态的,程序运行前设置好 一开始使用单线程,单线程总是抓不到回复的包,后来改用两个程序。 不会使用多线程,学习多线程时间上又不允许,只能开两个程序,达到模拟多线程的目的 // router.cpp : 定义控制台应用程序的入口点。 // #include stdafx.h #includepcap.h #includeiostream #includeWinsock2.h #includeWindows.h #includestring #includequeue using namespace std; #pragma comment(lib,ws2_32.lib) #pragma pack(1) typedef struct FrameHeader_t//定义帧首部 { //帧字节 BYTE DesMAC[6]; //目的地址 BYTE SrcMAC[6]; //源地址 WORD FrameType; //帧类型 }FrameHeader_t; typedef struct ARPFrame_t//ARP帧 { FrameHeader_t FrameHeader; WORD HardwareType; WORD ProtocolType; BYTE HLen; BYTE PLen; WORD Operation; BYTE SendHa[6]; DWORD SendIP; BYTE RecvHa[6]; DWORD RecvIP; }ARPFrame_t; typedef struct IPHEADER_T { //IP首部 BYTE Ver_HLen;//版本和报头长度,高4位为版本,低四位为报头长度 BYTE TOS;//服务类型 WORD TotalLen;//总长度 WORD ID;//表示 WORD Flag_segment;//标志+片偏移 BYTE TTL;//生存周期 BYTE Protocol;//协议 WORD Checksum;//校验和 ULONG SrcIP;//源IP ULONG DstIP;//目的IP }IPHeader_t; typedef struct Data_t { //包含帧首部和IP首部的数据包 FrameHeader_t FrameHeader; IPHeader_t IPHeader; }Data_t; #pragma pack() struct routersheet { unsigned int netmask; unsigned int dstnet; unsigned int nextnet; }; struct macsheet { unsigned int ip; BYTE mac[6]; unsigned int ttl; }; const int Number=3; routersheet router_sheet[Number]={ //子网掩码 目的网络 下一跳步 {inet_addr(255.255.255.0),inet_addr(192.168.137.0),inet_addr(112.112.112.113)}, {inet_addr(255.255.255.0),inet_addr(192.168.191.0),inet_addr(255.255.255.255)}, {inet_addr(255.255.255.0),inet_addr(112.112.112.0),inet_addr(255.255.255.255)} }; macsheet mac_sheet[2]={ {inet_addr(112.112.112.113),{0x8c,0x89,0xa5,0x73,0x4d,0xc0},10000}, {inet_addr(192.168.191.128),{0x34,0x08,0x04,0xe0,0x2c,0xc6},10000} }; const BYTE w_mac[6]={0xac,0x72,0x

文档评论(0)

1亿VIP精品文档

相关文档