端口扫描报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ASSERT(m_pDocument->IsKindOf(RUNTIME_CL ASS(CPortScanDoc)));
return (CPortScanDoc*)m_pDocument; }
#endif //_DEBUG
//////////////////////////////////////////////////// /////////////////////////
CheckRadioButton(IDC_RADIO_SINGLE,IDC_RA DIO_RANGE,IDC_RADIO_SINGLE); m_cSinglePort.EnableWindow(); m_cPortFrom.EnableWindow(FALSE); m_cPortTo.EnableWindow(FALSE); m_parent = (CMainFrame*)GetParent(); ASSERT(m_parent); // m_cBtnStop.EnableWindow(FALSE); m_cAttempts.SetWindowText(_T("1")); }
#undef THIS_FILE static char THIS_FILE[] = __FILE__;
#endif
//////////////////////////////////////////////////// ///////////////////////// // CPortScanView
杭州电子科技大学软件学院 网络工程试验报告 端口扫描报告 09109146 王子龙
1. 端口及端口扫描技术简介 ...............................................................................................2 2. 对现有端口扫描工具程序的理解 ...................................................................................2
1. 端口及端口扫描技术简介
根据提供服务类型的不同,端口分为两种,一种是 TCP 端口,一种是 UDP 端口。计算 机之间相互通信的时候,分为两种方式:一种是发送信息以后,可以确认信息是否到达,也 就是有应答的方式,这种方式大多采用 TCP 协议;一种是发送以后就不管了,不去确认信息 是否到达,这种方式大多采用 UDP 协议。对应这两种协议的服务提供的端口,也就分为 TCP 端口和 UDP 端口。
//}}AFX_MSG_MAP END_MESSAGE_MAP()
//////////////////////////////////////////////////// /////////////////////////
// CPortScanView construction/destruction
CPortScanView::CPortScanView() : CFormView(CPortScanView::IDD)
{
//{{AFX_DATA_INIT(CPortScanView) //}}AFX_DATA_INIT
// TODO: add construction code here m_pBrush = new CBrush; ASSERT(m_pBrush);
(DATA*)m_pStatusList->GetNext(p); m_pStatusList->RemoveAt(temp); if (pNode) delete pNode; } //Then remove it from heap: delete m_pStatusList; }
if (m_pBrush) delete m_pBrush;
IMPLEMENT_DYNCREATE(CPortScanView, CFormView)
BEGIN_MESSAGE_MAP(CPortScanView, CFormView)
//{{AFX_MSG_MAP(CPortScanView) ON_WM_CTLCOLOR()
ON_WM_SHOWWINDOW() ON_BN_CLICKED(IDC_RADIO_SINGLE,
//////////////////////////////////////////////////// ///////////////////////// // CPortScanView diagnostics
#ifdef _DEBUG void CPortScanView::AssertValid() const
主界面
本机 ip 地址为 169.254.103.168
用端口扫描工具扫描 135 端口,135 端口处于打开状态
扫描处于某一范围内的端口号,比如 80—90,任务进展将在界面下方显示, 并且提示当前扫描哪一个端口及尝试扫描次数。
最终的扫描结果可以通过 txt 文本导出
3. 核心代码
#ifdef _DEBUG #define new DEBUG_NEW
OnRadioSingle) ON_BN_CLICKED(IDC_RADIO_RANGE,
OnRadioRange) ON_BN_CLICKED(IDC_BUTTON_SCAN,
OnButtonScan) ON_BN_CLICKED(IDC_BUTTON_STOP,
OnButtonStop) ON_COMMAND(ID_FILE_SAVE, OnFileSave)
m_cBtnScan); DDX_Control(pDX, IDC_IP_ADDRESS, m_cIP); DDX_Control(pDX, IDC_EDIT_SINGLE_PORT_TO,
m_cPortTo); DDX_Control(pDX, IDC_EDIT_SINGLE_PORT_FROM, m_cPortFrom); DDX_Control(pDX, IDC_EDIT_SINGLE_PORT, m_cSinglePort); //}}AFX_DATA_MAP
// CPortScanView message handlers
HBRUSH CPortScanView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) {
HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
m_cProgress); DDX_Control(pDX, IDC_EDIT_ATTEMPTS,
m_cAttempts); DDX_Control(pDX, IDC_BUTTON_STO源自文库,
m_cBtnStop); DDX_Control(pDX, IDC_LIST_RESULT,
m_cResult); DDX_Control(pDX, IDC_BUTTON_SCAN,
主界面 ...................................................................................................................................3 3. 核心代码 ...........................................................................................................................6 4. 个人总结 .........................................................................................................................13
}
CPortScanView::~CPortScanView() {
if (m_pStatusList) {
//First Empty the port status list: POSITION p =
m_pStatusList->GetHeadPosition(); while (p) {
POSITION temp = p; DATA* pNode =
}
void CPortScanView::DoDataExchange(CDataExchange*
pDX) {
CFormView::DoDataExchange(pDX); //{{AFX_DATA_MAP(CPortScanView) DDX_Control(pDX, IDC_PROGRESS,
//m_clrBk = RGB(0x00,0x00,0x77); m_clrText = RGB(0xff,0xff,0x00); //m_pBrush->CreateSolidBrush(m_clrBk); m_pColumns = new CStringList;
ASSERT(m_pColumns); m_bSinglePort = TRUE; m_nMaxAttempts = 1; //default value, This value has been set on the window m_pStatusList = new CPtrList; ASSERT(m_pStatusList);
一台拥有 IP 地址的主机可以提供许多服务,比如 Web 服务、FTP 服务、SMTP 服务等, 这些服务完全可以通过 1 个 IP 地址来实现。主机不只是靠 IP 地址来区分网络服务,因为 IP 地址与网络服务的关系是一对多的关系。实际上是通过“IP 地址+端口号”来区分不同的服 务的。 一个端口就是一个潜在的通信通道,也就是一个入侵通道。对目标计算机进行端口扫描, 能得到许多有用的信息。进行扫描的方法很多,可以是手工进行扫描,也可以用端口扫描软 件进行。 在手工进行扫描时,需要熟悉各种命令。对命令执行后的输出进行分析。用扫描软件进 行扫描时,许多扫描器软件都有分析数据的功能。 通过端口扫描,可以得到许多有用的信息,从而发现系统的安全漏洞。
{ CFormView::AssertValid();
}
void CPortScanView::Dump(CDumpContext& dc) const {
CFormView::Dump(dc); }
CPortScanDoc* CPortScanView::GetDocument() // non-debug version is inline {
}
BOOL CPortScanView::PreCreateWindow(CREATESTRUCT&
cs) {
// TODO: Modify the Window class or styles here by modifying // the CREATESTRUCT cs
return CFormView::PreCreateWindow(cs); }
2. 对现有端口扫描工具程序的理解
该程序是有 C++编写的。C++是一种使用非常广泛的计算机编程语言。C++是一种静态 数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽 象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。
该程序能够扫描主机 IP 的某一个端口,或者是扫描该主机 IP 某一范围内的端口。并且 提供多次扫描功能。如果要扫描的端口很多,在扫描过程中可以暂停扫描。扫描结果在界面 的下方显示。主要显示内容有 IP 地址、端口号、端口状态、连接次数及备注。
void CPortScanView::OnInitialUpdate() {
CFormView::OnInitialUpdate(); GetParentFrame()->RecalcLayout();
ResizeParentToFit(FALSE); ResizeParentToFit(); ShowHeaders();
相关文档
最新文档