91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 693KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-15
  • 語言: 其他
  • 標簽: 網(wǎng)絡編程??

資源簡介

本課程設計的目的是熟悉IP包格式和加深對IP協(xié)議的理解。要求編制程序,監(jiān)控網(wǎng)絡,捕獲一段時間內(nèi)網(wǎng)絡上的 IP數(shù)據(jù)包,按IP數(shù)據(jù)包的源地址統(tǒng)計出該源地址在該時間段內(nèi)發(fā)出的IP包的個數(shù),將其寫入日志文件中或用圖形表示出來(建議用圖形表示出統(tǒng)計結果)

資源截圖

代碼片段和文件信息

#include?“dialog.h“
#include“NodeList.h“
#include“IPNode.h“
#include“IPMonitor.h“
#include

Dialog::Dialog(QWidget?*parent)
????:?QDialog(parent)
{

????QTextCodec::setCodecForTr(QTextCodec::codecForName(“gb2312“));
???setWindowtitle(tr(“IPMonitor?by?xclee@vip.qq.com“));

????QVBoxLayout?*vv?=?new?QVBoxLayout(this);
????QHBoxLayout?*hh?=?new?QHBoxLayout;

????timeLabel?=new?QLabel(tr(“監(jiān)控時間(ms)“));
????timeLineEdit?=?new?QLineEdit;
????startPushButton?=?new?QPushButton(tr(“開始捕獲“));

????hh->addWidget(timeLabel);
????hh->addWidget(timeLineEdit);
????hh->addWidget(startPushButton);

????list?=?new?QTreeWidget;
????list->setHeaderLabels(QStringList()<????vv->addLayout(hh);
????vv->addWidget(list);


????connect(startPushButtonSIGNAL(clicked())thisSLOT(updateList()));

????//updateList();
}

Dialog::~Dialog()
{

}
void?Dialog::updateList()
{
????WSADATA?wsData;
?QTextCodec::setCodecForTr(QTextCodec::codecForName(“gb2312“));
????//?初始化Winsock?DLL
????if?(WSAStartup(MAKEWORD(22)&wsData)?!=?0)
????{
????????qDebug()<<“WSAstartup?filed!\n“;
????????return?;
????}
????//?創(chuàng)建Raw?Socket
????SOCKET?sock;
????if?(?(sock?=?WSASocket(AF_INET?SOCK_RAW?IPPROTO_IP?NULL?0?WSA_FLAG_OVERLAPPED))??==?INVALID_SOCKET?)
????{

????????????qDebug()<????????????return?;
????}
????else
????{
????????qDebug()<<“success\n“;
????}

????//?設置IP頭操作選項,表示用戶可以親自對IP頭進行處理
????BOOL?bFlag?=?TRUE;
????if?(setsockopt(sock?IPPROTO_IP?IP_HDRINCL?(char?*)&bFlag?sizeof(bFlag))?==?SOCKET_ERROR)
????{
????????????qDebug()<<“Setsockopt?failed!“;
????????????return?;
????}

????//?獲取本地主機名
????char?pHostName[128];
????if?(gethostname(pHostName?100)?==?SOCKET_ERROR)
????{
????????qDebug()<<“Gethostname?failed!“;
????????return?;
????}

????//?通過本地主機名獲取本地IP地址
????hostent?*?pHostIP;
????if((pHostIP?=?gethostbyname(pHostName))?==?NULL)
????{
????????qDebug()<<“Gethostname?failed!“;
????????return?;
????}

????//?填充sockaddr_in結構
????sockaddr_in?addr_in;
????addr_in.sin_addr?=?*(in_addr?*)pHostIP->h_addr_list[0]; ?//?設定IP地址
????addr_in.sin_family?=?AF_INET; //?設定地址類型
????addr_in.sin_port?=?htons(8000); //?設定端口

????//?把原始套接字綁定到本機地址上
????if(bind(sock(PSOCKADDR)&addr_insizeof(addr_in))?==?SOCKET_ERROR)
????{
????????????qDebug()<????????????return?;
????}

????//?把網(wǎng)卡設置為混雜模式,以便接收所有的IP包
????#define??IO_RCVALL?_WSAIOW(IOC_VENDOR1)
????unsigned?long?pBufferLen[10];
????unsigned?long?dwBufferInLen?=?1;
????unsigned?long?dwBytesReturned?=?0;
????if?((WSAIoctl(sock?IO_RCVALL?&dwBufferInLen?sizeof(dwBufferInLen)?&pBufferLen
????????????sizeof(pBufferLen)?&dwBytesReturned?NULL?NULL))?==?SOCKET_ERROR)
????{
???????????qDebug()<<“Ioctlsocket?failed!“;
????????????return?;
????}

????//?把socket設置為非阻塞模式
????unsigned?long?dwTemp?=?1;
????ioctlsocket(sock?FIONBIO?&dw

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????278894??2009-12-26?18:52??IPMonitor\debug\dialog.o

?????文件????1959501??2009-12-26?18:53??IPMonitor\debug\IPMonitor.exe

?????文件?????117855??2009-12-25?15:56??IPMonitor\debug\IPNode.o

?????文件?????206147??2009-12-26?18:46??IPMonitor\debug\main.o

?????文件???????2080??2009-12-26?18:48??IPMonitor\debug\moc_dialog.cpp

?????文件?????213992??2009-12-26?18:48??IPMonitor\debug\moc_dialog.o

?????文件?????262745??2009-12-26?18:34??IPMonitor\debug\NodeList.o

?????文件??????24954??2004-06-03?21:08??IPMonitor\debug\WS2_32.LIB

?????文件???????5471??2009-12-26?19:00??IPMonitor\dialog.cpp

?????文件????????530??2009-12-26?18:44??IPMonitor\dialog.h

?????文件????????738??2009-12-25?10:25??IPMonitor\IPMonitor.h

?????文件????????387??2009-12-25?10:38??IPMonitor\IPMonitor.pro

?????文件??????15451??2009-12-26?18:58??IPMonitor\IPMonitor.pro.user

?????文件???????1688??2009-12-25?15:53??IPMonitor\IPNode.cpp

?????文件????????856??2009-12-25?15:52??IPMonitor\IPNode.h

?????文件???????3747??2009-12-25?15:18??IPMonitor\main.cpp

?????文件???????6133??2009-12-25?12:36??IPMonitor\Makefile

?????文件???????5967??2009-12-25?12:36??IPMonitor\Makefile.Debug

?????文件???????6056??2009-12-25?12:36??IPMonitor\Makefile.Release

?????文件???????2710??2009-12-26?18:33??IPMonitor\NodeList.cpp

?????文件????????318??2009-12-25?15:16??IPMonitor\NodeList.h

?????文件??????24954??2004-06-03?21:08??IPMonitor\WS2_32.LIB

?????目錄??????????0??2009-12-26?18:53??IPMonitor\debug

?????目錄??????????0??2009-12-25?09:45??IPMonitor\release

?????目錄??????????0??2009-12-25?16:33??IPMonitor

-----------?---------??----------?-----??----

??????????????3141174????????????????????25


評論

共有 條評論