<progress id="invqe"></progress>

    <em id="invqe"></em>

        <div id="invqe"></div>

          <div id="invqe"></div>

              <progress id="invqe"></progress>

                <dfn id="invqe"><span id="invqe"></span></dfn><div id="invqe"><ol id="invqe"><object id="invqe"></object></ol></div><div id="invqe"><ins id="invqe"><object id="invqe"></object></ins></div>

                <em id="invqe"><tr id="invqe"></tr></em>

                入侵实验二网络数据包的捕获及协议的简单分析

                湖南大学 入侵检测技术实验报告 实验二 网络数据包的捕获及协议的简单分析 一、实验目的 网络数据包的捕获及协议的简单分析。

                网络数据包是基于网络的入侵检测系 统的重要数据源,网络数据包的捕获是基于网络的入侵检测系统实现的第一步。

                通过该实验,熟悉并掌握 Linux 环境下基于 Lipbcap 的网络数据包的捕获方法, 理解和掌握基于网络入侵检测系统的源数据的捕获、 协议分析的基本原理和实现 方法。

                能够熟练应用 Libcap 开发包中的函数完成网络环境下功能较为简单的网 络捕获包和分析程序。

                二、实验内容 1、学习 libpcap 开发包的功能,并在 linux 下配置好 libpcap 环境。

                2、在 linux 系统下基于 Libpcap 编写 C 程序,实现对数据包的捕获、过滤和简单 分析。

                三、了解 libpcap 编程 Libpcap 的抓包流程 1. 查找网络设备:目的是发现可用的网卡,实现的函数为 pcap_lookupdev(),如果当前有多 个网卡,函数就会返回一个网络设?#35813;?#30340;指针列表。

                2. 打开网络设备: 利用上一步中的返回值, 可以决定使用哪个网卡, 通过函数 pcap_open_live() 打开网卡,返回用于捕捉网络数据包的秒数字。

                3. 获得网络参数:这里是利用函数 pcap_lookupnet(),可以获得指定网络设备的 IP 地址和子 网掩码。

                4. 编译过滤策略:Lipcap 的主要功能就是数据包的过滤,函数 pcap_compile()来实现。

                5. 设置过滤器:在上一步的基础上利用 pcap_setfilter()函数来设置。

                6. 利用回调函数,捕获数据包:函数 pcap_loop()和 pcap_dispatch()来抓去数据包,也可以利 用函数 pcap_next()和 pcap_next_ex()来完成同样的工作。

                7. 关闭网络设备:pcap_close()函数关系设备,释放资源。

                libpcap 利用 BPF 来过滤数据包

                湖南大学 入侵检测技术实验报告 过滤数据包需要完成 3 件事: 1. 构造一个过滤表达式 2. 编译这个表达式 3. 应用这个过滤器 基于 Libpcap 实现一个网络数据包嗅探器 捕获所有流经本网卡的数据包实现流程: 1. 查找网络设备 2. 打开网络设备 3. 查找设?#24863;?#24687; 4. 输入过滤规则 5. 编译输入规则设置输入规则 6. 开始捕获数据包 7. 调用数据包分析模块 8. 输出 MAC,IP,协议以及数据帧 9. 结束 四、libpcap 安装 需要以下四个安装包: 先安装 bison、flex、m4,最后安装 libpcap 第一步:解压:tar -xvf bison-2.4.1.tar.gz.gz //因为都是.tar.gz 的压缩包,使用 tar 解压命令 第二步: 检查: ./configure //检查计算机建立包所必须的完整性; 根据需要改变默认的路径; 激活/禁用编译程序中的各种选项;改变程序将要被安装的路径; 第三步:编译: (sudo)make //(有时候需要 root 权限) 第四步:安装?#28023;╯udo) make install //(有时候需要 root 权限) bison-2.4.1.tar.gz.gz、flex-2.5.35.tar.gz.gz、m4-1.4.13.tar.gz.gz 都用上述方法安装,最后同样 方法安装 libpcap-1.5.3.tar.gz.gz 最后将解压到的 libpcap-1.5.3 目录下的 pcap 目录复制到根目录下的/usr/include 里,再将 /usr/lib 目录下的 libpcap.so.1.5.3 复制一份改名为 libpcap.so.1 放到/usr/lib。

                五、实验代码 标准的与上比对的简单实现代码: #include #include int main(int argc, char *argv[]){

                湖南大学 入侵检测技术实验报告 pcap_t *handle; /* 会议手柄*/ char *dev; /*嗅探装置*/ char errbuf[PCAP_ERRBUF_SIZE]; /* 错误字符串*/ struct bpf_program fp; /* 编译过滤器*/ char filter_exp[] = "port 80"; /* 过滤器表达式*/ bpf_u_int32 mask; /* 网络掩码*/ bpf_u_int32 net; /* IP */ struct pcap_pkthdr header; /* PCAP 返回的头部*/ const u_char *packet; /* 实?#23454;?#25968;据包*/ /* 查找网络设备 */ dev = pcap_lookupdev(errbuf);//如果当前有多个网卡,函数就会返回一个网络设?#35813;?#30340; 指针列表。

                if (dev == NULL) { fprintf(stderr, "找不到默认的设备: %s\n", errbuf); return(2);} /* 获得网络参数 */ if (pcap_lookupnet(dev, &net, &mask, errbuf) == -1){ //获得指定网络设备的 IP 地址和子 网掩码 fprintf(stderr, "无法获取网络掩码设备 %s: %s\n", dev, errbuf); net = 0; mask = 0;} /* 打开网络设备,混杂模式下打开会话 */ handle = pcap_open_live(dev, BUFSIZ, 1, 1000, errbuf);//利用第一步中的返回值,可以决 定使用哪个网卡,打开网卡,返回用于捕捉网络数据包的秒数字。

                if (handle == NULL) { fprintf(stderr, "无法打开设备 %s: %s\n", dev, errbuf); return(2);} /* 编译和应用过滤器 */ if (pcap_compile(handle, &fp, filter_exp, 0, net) == -1)// 数据包的过滤 { fprintf(stderr, "无法解析过滤器 %s: %s\n", filter_exp, pcap_geterr(handle)); return(2);} /*设置过滤器*/ if (pcap_setfilter(handle, &fp) == -1){ //在上一步的基础上利用 pcap_setfilter()函数来设置 fprintf(stderr, "无法安装过滤器 %s: %s\n", filter_exp, pcap_geterr(handle)); return(2);} /* 抓包 */ packet = pcap_next(handle, &header);//利用回调函数,捕获数据包 /* 打印长度 */ printf("Jacked a packet with length of [%d]\n", header.len); /* 关闭网络设备,关闭会话,释放资源 */ pcap_close(handle); return(0); }

                湖南大学 入侵检测技术实验报告 实验结果: 这是没有联网或者断网时出现的结果。

                完成进一步数据包分析的代码: #include #include #include #include #include #include #include //链路层数据包格式 typedef struct { u_char DestMac[6]; u_char SrcMac[6]; u_char Etype[2]; }ETHHEADER; //IP 层数据包格式 typedef struct { int header_len:4; int version:4; u_char tos:8; int total_len:16; int ident:16; int flags:16; u_char ttl:8; u_char proto:8; int checksum:16; u_char sourceIP[4]; u_char destIP[4]; }IPHEADER; //协议?#25104;?#34920; char *Proto[]={

                湖南大学 入侵检测技术实验报告 "Reserved","ICMP","IGMP","GGP","IP","ST","TCP" }; //回调函数 ,分析数据包 void pcap_handle(u_char* user,const struct pcap_pkthdr* header,const u_char* pkt_data){ //第一个参数是 pcap_loop 的最后一个参数,当收到足够数量的包后 pcap_loop 会调用 pcap_handle 回调函数,同时将 pcap_loop()的 user 参数传递给它 //第二个参数是收到的数据包的 pcap_pkthdr 类型的指针 //第三个参数是收到的数据包数据 ETHHEADER *eth_header=(ETHHEADER*)pkt_data; printf("---------------Begin Analysis-----------------\n"); printf("----------------------------------------------\n"); printf("Packet length: %d \n",header->len); //解析数据包 IP 头部 if(header->len>=14){ IPHEADER *ip_header=(IPHEADER*)(pkt_data+14); //解析协议类型 char strType[100]; //协议类型 if(ip_header->proto>7) strcpy(strType,"IP/UNKNWN"); else strcpy(strType,Proto[ip_header->proto]); //打印源物理地址,目的物理地址 printf("Source MAC : %02X-%02X-%02X-%02X-%02X-%02X==>",eth_header->SrcMac[0],eth_header->Src Mac[1],eth_header->SrcMac[2],eth_header->SrcMac[3],eth_header->SrcMac[4],eth_header->Src Mac[5]); printf("Dest MAC : %02X-%02X-%02X-%02X-%02X-%02X\n",eth_header->DestMac[0],eth_header->Dest Mac[1],eth_header->DestMac[2],eth_header->DestMac[3],eth_header->DestMac[4],eth_header-> DestMac[5]); //打印源 IP,目的 IP printf("Source IP : %d.%d.%d.%d==>",ip_header->sourceIP[0],ip_header->sourceIP[1],ip_header->sourceIP[2],i p_header->sourceIP[3]);

                湖南大学 入侵检测技术实验报告 printf("Dest IP : %d.%d.%d.%d\n",ip_header->destIP[0],ip_header->destIP[1],ip_header->destIP[2],ip_header ->destIP[3]); //打印协议类型 printf("Protocol : %s\n",strType); //显示数据帧内容,十六位一行 for(int i=0; i<(int)header->len; ++i) { printf(" %02x", pkt_data[i]); if( (i + 1) % 16 == 0 ) printf("\n"); } printf("\n\n"); } } int main(int argc, char **argv) { char *device="eth0"; char errbuf[1024]; pcap_t *phandle; //默认网络接口 bpf_u_int32 ipaddress,ipmask; struct bpf_program fcode; int datalink; /*获取网络接口*/ if((device=pcap_lookupdev(errbuf))==NULL){ //这个函数返回第一个合?#23454;?#32593;络接口的 字 符 串 指 针 , 如 果 出 错 , 则 errbuf 存 放 出 错 信 息 字 符 串 , errbuf 至 少 应 该 是 PCAP_ERRBUF_SIZE 个?#32440;?#38271;度的 perror(errbuf); return 1; } else printf("device: %s\n",device); /*打开网络接口*/ phandle=pcap_open_live(device,200,0,500,errbuf); //这个函数会返回指定接口的 pcap_t 类型指针,后面的所有操作都要使用这个指针。

              1. 数据包的截获与网络协议分析

                数据包的截获与网络协议分析

                数据包的截获与网络协议分析...

                贡献者:网络收集
                355708
              2. 实验4:网络协议报文捕获与分析

                实验4:网络协议报文捕获与分析

                实验4:网络协议报文捕获与分析...

                贡献者:网络收集
                522293
              3. 设计和组建无线局域网及网络数据包捕获和协议分析

                设计和组建无线局域网及网络数据包捕获和协议分析

                设计和组建无线局域网及网络数据包捕获和协议分析...

                贡献者:网络收集
                439264
              4. 30网络数据包的捕获与协议分析

                30网络数据包的捕获与协议分析

                30网络数据包的捕获与协议分析...

                贡献者:网络收集
                159305
              5. 使用网络监视器iris捕捉和分析协议数据包

                使用网络监视器iris捕捉和分析协议数据包

                使用网络监视器iris捕捉和分析协议数据包...

                贡献者:网络收集
                103745
              6. 实验1:网络数据包的捕获与协议分析

                实验1:网络数据包的捕获与协议分析

                实验1:网络数据包的捕获与协议分析...

                贡献者:网络收集
                764230
              7. 网络实验8网络抓包 数据包捕获与协议分析

                网络实验8网络抓包 数据包捕获与协议分析

                网络实验8网络抓包 数据包捕获与协议分析...

                贡献者:网络收集
                52738
              8. 计算机网络-使用网络协议分析器捕捉和分析协议数据包

                计算机网络-使用网络协议分析器捕捉和分析协议数据包

                计算机网络-使用网络协议分析器捕捉和分析协议数据包...

                贡献者:网络收集
                253364
              9. 实验八--网络性能监测分析工具Sniffer捕获高层协议数据包并分析

                实验八--网络性能监测分析工具Sniffer捕获高层协议数据包并分析

                实验八--网络性能监测分析工具Sniffer捕获高层协议数据包并分析...

                贡献者:网络收集
                460642
              10. 实验二 网络报文捕获与网络协议分析

                实验二 网络报文捕获与网络协议分析

                实验二 网络报文捕获与网络协议分析...

                贡献者:网络收集
                80367
              11. 网友在搜
                Get home 是什么意思 tommy卡通贴图制作 单个人物剪影站立 rock climbing怎么读 女生黄金身高 reng拼音汉字 gv videos 中同 酷航中文官网 走路减?#23454;?#27491;确时间 adina动态链接库下载 sin(11π a) 冬天如何穿拉拉裤 mount denied 进击的巨人 2 torrent 建行龙卡免年费吗 同等学力英语辅导 mui禁止上下滑动 有关运动的名言 数字桌面 keawood地板 香?#25991;搜?#36805;?#23383;?#23376; 意境图片唯美大图 德国制药公司排名 外星人黑苹果 世博洲际酒店招聘 千方百剂安装教程 cos隔着内裤倒茶番 纠结x299还是z370 韩国姑娘肉色丝袜 怀化现任市委书记 gfw.press的博客 何润东老婆哪里人 科比和詹姆斯合照 扫描是什么意思 挤压丝锥磨床 ?#36866;襮q萌宝贝 李善水陈青青蛇女 许昌祖师庙焚尸案 jack u组合哪里人 民办学校和公办学校 ?#26412;?个人 上门 按摩 ?#26007;?#30340;歌 psv翻新机怎么看 轰趴馆装修技巧 qq三国xs是什么 广东著名骨科医院 三星note3 n9006 路由器传输频段 meyd 253 下载 戴尔OptiPlex 7050M java log4j 分开输出 toys r us singapore ps车阴影 tarte遮瑕修容盘 ?#26412;?#33322;空航天大学真相 梦见移坟墓是什么意思 idea testng.xml nginx sub request日志

                声明:本站内容部分源于网络转载,出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。文章内容仅供参考,请咨询相关专业人士。

                如果无意之中侵犯了您的版权,或有意见、反馈或投诉等情况, 联系我们:点击这里给我发消息

                Copyright ? 2016 All Rights Reserved 紫菜网 手机站

                梦幻西游赚钱攻略
                <progress id="invqe"></progress>

                  <em id="invqe"></em>

                      <div id="invqe"></div>

                        <div id="invqe"></div>

                            <progress id="invqe"></progress>

                              <dfn id="invqe"><span id="invqe"></span></dfn><div id="invqe"><ol id="invqe"><object id="invqe"></object></ol></div><div id="invqe"><ins id="invqe"><object id="invqe"></object></ins></div>

                              <em id="invqe"><tr id="invqe"></tr></em>
                              <progress id="invqe"></progress>

                                <em id="invqe"></em>

                                    <div id="invqe"></div>

                                      <div id="invqe"></div>

                                          <progress id="invqe"></progress>

                                            <dfn id="invqe"><span id="invqe"></span></dfn><div id="invqe"><ol id="invqe"><object id="invqe"></object></ol></div><div id="invqe"><ins id="invqe"><object id="invqe"></object></ins></div>

                                            <em id="invqe"><tr id="invqe"></tr></em>
                                            快乐三张牌2.0版本 jg篮球怎么样 133222宝马论坛六肖 海南私彩怎么算中奖 竞彩总进球怎么看 重庆百变王牌近100期走势图 118图库公式规律区 2019年绝对一肖两码中特 香港六合彩票开奖结果 2015做什么生意有前景 2012热火vs凯尔特人g7 极速十一选五 17085大乐透大奖花落 上海基诺开奖号码 辽宁11选5赠策