欢迎来到天天文库
浏览记录
ID:59460185
大小:23.50 KB
页数:6页
时间:2020-11-02
《监控IP包流量-代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#include#include#include#include#include#include#include//等同于点击"Project-Setting-link"打开Object/librarymodules编辑框后加入lib文件#pragmacomment(lib,"Wpcap.lib")#pragmacomment(lib,"Ws2_32.lib")//IP结点类,存放IP包的源IP地址和其发送的数据包
2、个数classIPNode{private:longm_lIPAddress;//IP地址longm_lCount;//发送数据包个数public:IPNode*pNext;//指向下一个IP结点//构造函数IPNode(longsourceIP){m_lIPAddress=sourceIP;m_lCount=1;//初始化数据包个数为1}//数据包个数加1voidaddCount(){m_lCount++;}//返回数据包个数longgetCount(){returnm_lCount;}//返回IP地址longgetIPAddress(){retur
3、nm_lIPAddress;}};//结点链表classNodelist{IPNode*pHead;//链表头IPNode*pTail;//链表尾public:Nodelist(){pHead=pTail=NULL;//初始化链表}~Nodelist(){if(pHead!=NULL){IPNode*pTemp=pHead;pHead=pHead->pNext;deletepTemp;}}//Ip结点加入链表voidaddNode(longsourceIP){if(pHead==NULL)//当链表为空时{//cout<<"thefirstnode"<
4、pNext=NULL;}else{for(IPNode*pTemp=pHead;pTemp;pTemp=pTemp->pNext){//如果链表中存在此IP,发送数据包个数加1if(pTemp->getIPAddress()==sourceIP){//cout<<"samesourceip"<addCount();break;}}if(pTemp==NULL){//cout<<"anewsourceip"<
5、pNext=newIPNode(sourceIP);pTail=pTail->pNext;pTail->pNext=NULL;}}}//输出IP结点,即IP地址和其发送的IP包个数voidOutPut(){IPNode*pTemp=pHead;ofstreamfout("login.txt",ios::app);fout<<"SourceIP"<<"tpacketnumbers"<getIPAddress();fout<6、ntoa(*(in_addr*)&(lTemp))<<'t';fout<getCount()<getCount()<pNext;fout<getCount()<7、ihl;//版本号(4位)+头部长度(4位)unsignedchartos;//服务类型unsignedshorttlen;//总长度unsignedshortidentification;//标识unsignedshortflags_fo;//标志+片偏移unsignedcharttl;//生存时间unsignedcharproto;//协议unsignedshortcrc;//校验和DWORDsaddr;//源地址DWORDdaddr;//目的地址unsignedintop_pad;//选项+填充};voidmain(intargc,char*ar8、gv[]){pcap_if_t*alldevs,*d;//网络设备结构pcap_t*fp;//
6、ntoa(*(in_addr*)&(lTemp))<<'t';fout<getCount()<getCount()<pNext;fout<getCount()<7、ihl;//版本号(4位)+头部长度(4位)unsignedchartos;//服务类型unsignedshorttlen;//总长度unsignedshortidentification;//标识unsignedshortflags_fo;//标志+片偏移unsignedcharttl;//生存时间unsignedcharproto;//协议unsignedshortcrc;//校验和DWORDsaddr;//源地址DWORDdaddr;//目的地址unsignedintop_pad;//选项+填充};voidmain(intargc,char*ar8、gv[]){pcap_if_t*alldevs,*d;//网络设备结构pcap_t*fp;//
7、ihl;//版本号(4位)+头部长度(4位)unsignedchartos;//服务类型unsignedshorttlen;//总长度unsignedshortidentification;//标识unsignedshortflags_fo;//标志+片偏移unsignedcharttl;//生存时间unsignedcharproto;//协议unsignedshortcrc;//校验和DWORDsaddr;//源地址DWORDdaddr;//目的地址unsignedintop_pad;//选项+填充};voidmain(intargc,char*ar
8、gv[]){pcap_if_t*alldevs,*d;//网络设备结构pcap_t*fp;//
此文档下载收益归作者所有