当前位置: 首页 > news >正文

嘉兴建站模板系统辽宁招标网招标公告

嘉兴建站模板系统,辽宁招标网招标公告,番禺网站开发公司,怎么盗用网站1.题目描述 在上一题的基础上#xff0c;参照教材中各层报文的头部结构#xff0c;结合使用 wireshark 软件#xff08;下载地址 https://www.wireshark.org/download.html#releases#xff09;观察网络各层报文捕获#xff0c;解析和分析的过程#xff08;如下 图所示参照教材中各层报文的头部结构结合使用 wireshark 软件下载地址 https://www.wireshark.org/download.html#releases观察网络各层报文捕获解析和分析的过程如下 图所示尝试编写一个网络报文的解析程序。 2.演示Demo 设备选择 3.导入WinPcap三方库到项目 (博主用的是Clion,若是VC,CodeBlocks,Dev-C等导入方式大同小异) 首先下载 文件https://www.winpcap.org/install/bin/WpdPack_4_1_2.zip 解压到项目路径下 在CMakeLists.txt修改成下面代码:(连接第三方库WinPcap) cmake_minimum_required(VERSION 3.27) project(Problem08) set(CMAKE_CXX_STANDARD 17)include_directories(./Include) #导入.h头文件link_directories(./Lib/x64) #导入.a库文件./Lib/x64是64位 ./Lib 是32位机器使用link_libraries(Packet wpcap ws2_32) #导入wpcap,ws2_32库文件add_executable(Problem08 main.cpp)target_link_libraries(Problem08 Packet wpcap) #连接wpcap,ws2_32库文件 刷新项目 成功运行  4.参考代码 #define HAVE_REMOTE #define LINE_LEN 16 #define IPPROTO_ICMP 1 /* control message protocol */ #define IPPROTO_TCP 6 /* tcp */ #define IPPROTO_UDP 17 /* user datagram protocol */#include WinSock2.h #include algorithm #include string #include cstdio #include pcap.h #include sys/time.h #include iostream #pragma comment(lib, ws2_32.lib)using namespace std;typedef struct ip_address { //ip地址u_char b1;u_char b2;u_char b3;u_char b4; } ip_address;typedef struct mac_address {//mac地址u_char b1;u_char b2;u_char b3;u_char b4;u_char b5;u_char b6; } mac_address;typedef struct ethe_header { //mac帧首部mac_address mac_dest_address;mac_address mac_source_address;u_short ether_type; } ethe_header;typedef struct ip_header { //ip地址首部u_char ver_ihl;u_char tos;u_short tlen;u_short identification;u_short flags_fo;u_char ttl;u_char proto;u_short crc;ip_address saddr;ip_address daddr;u_int op_pad; } ip_header;typedef struct udp_header { //UPD首部u_short sport;u_short dport;u_short len;u_short crc; } udp_header;typedef struct tcp_header { //TCP首部u_short sport;u_short dport;u_int num;u_int ack;u_short sum;u_short windonw;u_short crc;u_short ugr; } tcp_header;//------------------------------------------------ void packet_handler(u_char *param, const struct pcap_pkthdr *header, const u_char *pkt_data);void cls();void Sync_NetData(); void GotoXY(int x, int y) ; // 移动 //----------------------------------------------- char judge; int length; long NeedPacket 999; long NowPacket 0; //变量--------------------------------------------long Now_Y10;long Tcp_Num 0; long Udp_Num 0; long ICMP_Num 0; long Tcp_Size 0; long ICMP_Size 0; long Udp_Size 0;//----------------------------------------------- int main() {cout *网络报文分析程序的设计与实现Demo* endl endl;pcap_if_t *alldevs, *device;int i 0;int iNum;u_int netmask;struct bpf_program fcode;pcap_t *adhandle;char errbuf[PCAP_ERRBUF_SIZE];//修改这里可以更改捕获的数据包使用的协议类型char packet_filter[] (ip and udp) or (ip and tcp) or (ip and icmp);//获取设备列表if (pcap_findalldevs_ex(PCAP_SRC_IF_STRING, NULL, alldevs, errbuf) -1) {fprintf(stderr, 无法打开网络设备:%s\n, errbuf);return 1;}for (device alldevs; device ! NULL; device device-next) { //打印列表if (i 0) {printf(------------------------------网络设备-------------------------------\n);}if (device-description)printf( 序号:%d (%s)\n, i, device-description);else {i;printf(没有设备描述信息!);}}printf(-------------------------------------------------------------------\n);if (i 0) {printf(\n请先安装WinPcap!);return -1;}printf(\n #请选择网络设备接口:(1 - %d):, i);scanf(%d, iNum);getchar();if (iNum 1 || iNum i) {printf(设备不存在!\n);pcap_freealldevs(alldevs);return -1;}//跳转到已选设备for (device alldevs, i 0; i iNum - 1; device device-next, i);// 打开适配器if ((adhandle pcap_open(device-name, // 设备名65536, // 要捕捉的数据包的部分// 65535保证能捕获到不同数据链路层上的每个数据包的全部内容PCAP_OPENFLAG_PROMISCUOUS, // 混杂模式1000, // 读取超时时间NULL, // 远程机器验证errbuf // 错误缓冲池)) NULL) {fprintf(stderr, \n不能打开适配器\n);/* 释放设备列表 */pcap_freealldevs(alldevs);return -1;}if (pcap_datalink(adhandle) ! DLT_EN10MB) { //检查数据链路层为了简单只考虑以太网fprintf(stderr, \n系统网卡链路出错!\n);pcap_freealldevs(alldevs); //释放设备列表return -1;}if (device-addresses ! NULL) //获得接口第一个地址的掩码netmask ((struct sockaddr_in *) (device-addresses-netmask))-sin_addr.S_un.S_addr;else //如果接口没有地址那么我们假设一个C类的掩码netmask 0xffff00;if (pcap_compile(adhandle, fcode, packet_filter, 1, netmask) 0) { //编译过滤器fprintf(stderr, 不能监听过滤该数据报!\n);pcap_freealldevs(alldevs);return -1;}if (pcap_setfilter(adhandle, fcode) 0) { //设置过滤器fprintf(stderr, 过滤设置错误!\n);pcap_freealldevs(alldevs);return -1;}cout #请输入抓包数量:;cin NeedPacket;printf(\n\n 正在监听%s的数据报...\n\n, device-description);pcap_freealldevs(alldevs); //释放设备列表system(cls);pcap_loop(adhandle, NeedPacket, packet_handler, NULL); //开始捕捉GotoXY(0,Now_Y);cout endl * 嗅探结束 endl endl;system(pause);return 0; }void packet_handler(u_char *dumpfile, const struct pcap_pkthdr *header,const u_char *pkt_data) { //回调函数当收到每一个数据包时会被libpcap所调用if (header-caplen 400) return;int len;struct tm *ltime;char timestr[16];ip_header *ip_hd,ip_hd_ok;udp_header *udp_hd;tcp_header *tcp_hd;ethe_header *ethe_hd;int ip_len, tcp_len, start;u_short sport, dport;string Type_net;char now[64];struct tm *ttime;time_t tt;tt header-ts.tv_sec;ttime localtime(tt);strftime(now, 64, %Y-%m-%d %H:%M:%S, ttime);// printf(时间%s\n, now);ethe_hd (ethe_header *) pkt_data;ip_hd (ip_header *) (pkt_data 14);ip_hd_ok*ip_hd;ip_len (ip_hd_ok.ver_ihl 0xf) * 4; //ip首部长度udp_hd (udp_header *) ((u_char *) ip_hd ip_len);sport ntohs(udp_hd-sport);dport ntohs(udp_hd-dport);if (ip_hd_ok.proto IPPROTO_UDP) {Type_netUDP;start ip_len 8;Udp_Num;Udp_Size header-caplen;} else if (ip_hd_ok.proto IPPROTO_TCP) {Type_netTCP;Tcp_Num;Tcp_Size header-caplen;tcp_hd (tcp_header *) ((u_char *) ip_hd ip_len);tcp_len ntohs(tcp_hd-sum) 12;start ip_len tcp_len * 4;} else if (ip_hd_ok.proto IPPROTO_ICMP) {Type_netICMP;start ip_len 23;ICMP_Num;ICMP_Size header-caplen;}GotoXY(0,Now_Y);printf(数据类型: %s\t源IP地址: %d.%d.%d.%d:%d\t目的IP地址: %d.%d.%d.%d:%d\t目的物理地址: %x-%x-%x-%x-%x-%x\n,Type_net.c_str(),ip_hd-saddr.b1, ip_hd-saddr.b2, ip_hd-saddr.b3, ip_hd-saddr.b4,sport,ip_hd-daddr.b1, ip_hd-daddr.b2, ip_hd-daddr.b3, ip_hd-daddr.b4, dport,ethe_hd-mac_dest_address.b1, ethe_hd-mac_dest_address.b2, ethe_hd-mac_dest_address.b3,ethe_hd-mac_dest_address.b4, ethe_hd-mac_dest_address.b5, ethe_hd-mac_dest_address.b6);Now_Y;Sync_NetData();//更新网络 }//更新数据 void Sync_NetData() {cls();cout *网络报文分析程序的设计与实现Demo* endl;cout endl 捕获网络报文分析:------------------------ endl;cout \tTCP包数量: Tcp_Num 个 endl;cout \tUDP包数量: Udp_Num 个 endl;cout \tICMP包数量: ICMP_Num 个 endl;cout \t捕获TCP包的总大小: Tcp_Size / 1024 KB endl;cout \t捕获UDP包的总大小: Udp_Size / 1024 KB endl;cout \t捕获ICMP包的总大小: ICMP_Size / 1024 KB endl;cout ------------------------------------- endl;}//清屏函数 void cls() {COORD pos;HANDLE hOut GetStdHandle(STD_OUTPUT_HANDLE);pos.Y pos.X 0;SetConsoleCursorPosition(hOut, pos); } void GotoXY(int x, int y) // 移动 {COORD pos;HANDLE hOut GetStdHandle(STD_OUTPUT_HANDLE);pos.Y y; pos.X x;SetConsoleCursorPosition(hOut, pos); } 2024 HNUST计算机网络课程设计-(ᕑᗢᓫ∗)˒芒果酱-参考文章 代码可以参考૮₍ ˃ ⤙ ˂ ₎ა 但同学们要认真编写哦 ------------------------------------------------------------------------- 1、网络聊天程序的设计与实现C Socket 多线程 网络聊天室 支持用户端双向交流(2023)-CSDN博客 2、Tracert 与 Ping 程序设计与实现Tracert 与 Ping 程序设计与实现2024-CSDN博客 3、滑动窗口协议仿真滑动窗口协议仿真2024-CSDN博客 4、OSPF 路由协议原型系统设计与实现OSPF 路由协议原型系统设计与实现-CSDN博客 5、基于 IP 多播的网络会议程序基于 IP 多播的网络会议程序2024-CSDN博客 6、编程模拟 NAT 网络地址转换编程模拟 NAT 网络地址转换(2024)-CSDN博客 7、网络嗅探器的设计与实现网络嗅探器的设计与实现(2024)-转载-CSDN博客 8、网络报文分析程序的设计与实现网络报文分析程序的设计与实现2024-CSDN博客 9、简单 Web Server 程序的设计与实现简单 Web Server 程序的设计与实现 (2024)-CSDN博客 10、路由器查表过程模拟 计算机网络 - 路由器查表过程模拟 C(2024)-CSDN博客
http://www.hkea.cn/news/14334156/

相关文章:

  • 网站开发质保金网站开发工程师ppt
  • 番禺做网站公司哪家好行业查询网站
  • 类似源码之家的网站网站流量很少
  • 网站wap设置ui设计的工作内容
  • 富锦网站做五金有哪些网站推广
  • 民宿网站开发的开题报告设计logo图标
  • 做网站美工要学什么软件网站公司怎么做运营
  • 外国人做家具的网站深圳罗湖的网站设计
  • 廊坊企业建站网站开发的技术支撑 经验能力
  • 石家庄网站建设选汉狮企业取名
  • 注册网站要多久外贸网络营销培训
  • 盱眙网站建设公司谷歌商店下载安装
  • 网站联盟是什么意思自建网站营销是什么意思
  • 济南网站建设优化熊掌号营销型网站名词解释
  • 个人网站系统网络运营者开展经营和服务活动必须遵守法律行政法规
  • 网站建设的安全性问题电子政务和网站建设自评
  • 北京西城区建设网站二级建造师报名入口
  • 可以进入任何网站的浏览器课件app制作教程
  • 宝塔设置加速wordpress站点手机2345网址导航老版下载
  • 宝坻集团网站建设wordpress 找不到主题
  • 郴州网站建设郴州怎样建立一个网站
  • 四川省城乡住房与建设厅网站首页云南楚雄旅游必去的景点
  • 团购网站 备案问题建设校园网站
  • asp在网站制作中的作用关于做网站的书籍
  • 个人网站网站建设wordpress怎么添加附件
  • 校园社交网站怎么做制作网站的商家
  • 西安网站建设公司有哪些设计网站faq需注意
  • 南昌公司做网站织梦网站首页模板路径
  • 2018网站流量怎么做百姓网二手车个人
  • 站长之家域名查询官网无锡网站建设运营