⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 icmpscandlg.cpp

📁 一个基于VC++开发的网络安全扫描程序!!!能够有效地发现网络安全漏洞
💻 CPP
字号:
// IcmpScanDlg.cpp : implementation file
//

#include "stdafx.h"
#include "BeastScaner.h"
#include "IcmpScanDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CIcmpScanDlg dialog
IMPLEMENT_DYNAMIC(CIcmpScanDlg, CDialog)

CIcmpScanDlg::CIcmpScanDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CIcmpScanDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CIcmpScanDlg)
	dwOriginateIPAddress = 0;
	dwLastIPAddress = 0;
	dwTimeoutValue = 2;

	//}}AFX_DATA_INIT
	enCurrentScan=NO_SCAN;
   	WSADATA wsaData;
	WORD wVersionRequested = MAKEWORD(1, 1);
	::WSAStartup(wVersionRequested, &wsaData);
	memset(&(this->theThreadParament),0,sizeof(this->theThreadParament));

}

CIcmpScanDlg::~CIcmpScanDlg()
{
	::WSACleanup();
}

void CIcmpScanDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
    //{{AFX_DATA_MAP(CIcmpScanDlg)
	DDX_Control(pDX, IDC_IPADDRESS2, m_LastIPAddress);
	DDX_Control(pDX, IDC_IPADDRESS1, m_OriginateIPAddress);
	DDX_Text(pDX, IDC_IPADD1, dwOriginateIPAddress);
	DDX_Text(pDX, IDC_IPADD2, dwLastIPAddress);
	DDX_Text(pDX, IDC_EDIT1, dwTimeoutValue);
	DDV_MinMaxDWord(pDX, dwTimeoutValue, 1, 30);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CIcmpScanDlg, CDialog)
	//{{AFX_MSG_MAP(CIcmpScanDlg)
	ON_BN_CLICKED(IDC_BUTTON1, OnBnClickedNormalScan)
	ON_BN_CLICKED(IDC_BUTTON2, OnBnClickedAdavncedScan)
	ON_BN_CLICKED(IDC_RADIO1, OnBnClickedRadioWrongIpPacket)
	ON_BN_CLICKED(IDC_RADIO3, OnBnClickedRadioIpReorganization)
	ON_BN_CLICKED(IDC_RADIO2, OnBnClickedRadioWrongProtocol)
	ON_NOTIFY(IPN_FIELDCHANGED, IDC_IPADDRESS1, OnFieldchangedIpaddress1)
	ON_NOTIFY(IPN_FIELDCHANGED, IDC_IPADDRESS2, OnFieldchangedIpaddress2)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CIcmpScanDlg message handlers

void CIcmpScanDlg::OnBnClickedNormalScan() 
{
	// TODO: Add your control notification handler code here
	this->UpdateData();
	this->theThreadParament.dwTimeOut=this->dwTimeoutValue;
	this->theThreadParament.dwOriginalIP=this->dwOriginateIPAddress;
	this->theThreadParament.dwLastIP=this->dwLastIPAddress;
	pMainWindow->SendMessage(WM_BEGIN_SCAN,ICMP_SCAN,(LPARAM)&(this->theThreadParament));
}

void CIcmpScanDlg::OnBnClickedAdavncedScan() 
{
	// TODO: Add your control notification handler code here
	this->UpdateData();
	this->theThreadParament.dwTimeOut=this->dwTimeoutValue;
	this->theThreadParament.dwOriginalIP=this->dwOriginateIPAddress;
	this->theThreadParament.dwLastIP=this->dwLastIPAddress;
	pMainWindow->SendMessage(WM_BEGIN_SCAN,this->enCurrentScan,(LPARAM)&(this->theThreadParament));
}

void CIcmpScanDlg::OnBnClickedRadioWrongIpPacket() 
{
	// TODO: Add your control notification handler code here
	this->enCurrentScan=ICMP_WRONG_PORT_SCAN;
}

void CIcmpScanDlg::OnBnClickedRadioIpReorganization() 
{
	// TODO: Add your control notification handler code here
	this->enCurrentScan=ICMP_IP_REORGANIZATION_SCAN;
}

void CIcmpScanDlg::OnBnClickedRadioWrongProtocol() 
{
	// TODO: Add your control notification handler code here
	this->enCurrentScan=ICMP_WRONG_PROTOCOL_SCAN; 
}

BOOL CIcmpScanDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	((CButton *)GetDlgItem(IDC_RADIO1))->SetCheck(TRUE);//选上
	this->enCurrentScan=ICMP_WRONG_PORT_SCAN;
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CIcmpScanDlg::OnFieldchangedIpaddress1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	m_OriginateIPAddress.GetAddress(dwOriginateIPAddress);
   	this->UpdateData(FALSE);
	*pResult = 0;
}

void CIcmpScanDlg::OnFieldchangedIpaddress2(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	m_LastIPAddress.GetAddress(dwLastIPAddress);
	this->UpdateData(FALSE);
	*pResult = 0;
}

void CIcmpScanDlg::OnOK()
{
	this->OnBnClickedNormalScan();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -