《网络程序设计》实验4_基于MFC CAsyncSocket类的网络通信

《网络程序设计》实验4_基于MFC CAsyncSocket类的网络通信
《网络程序设计》实验4_基于MFC CAsyncSocket类的网络通信

苏州大学实验报告

院、系文正学院年级专业12物理网姓名高成波学号1217443036 课程名称网络程序设计成绩

指导教师陆建德同组实验者无实验日期

实验名称实验四基于MFC CAsyncSocket类的网络通信

一.实验内容(要求先完成题目,然后上机验证)

本实验利用Visual C++ MFC CAsyncSocket类进行网络程序设计。参照实验4讲义示例,完成基于CAsyncSocket类的点到点网络聊天通信程序,并上机调试。要求可以实现本机间以及在同一网络内不同主机之间的通信。

实验报告内容包括主要的实验代码、必要的注释或另外的说明文档以及实验结果与分析。

ChatClientDlg.cpp

#include "stdafx.h"

#include "ChatClient.h"

#include "ChatClientDlg.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog

{

public:

CAboutDlg();

// Dialog Data

//{{AFX_DATA(CAboutDlg)

enum { IDD = IDD_ABOUTBOX };

//}}AFX_DATA

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CAboutDlg)

protected:

virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support

//}}AFX_VIRTUAL

// Implementation

protected:

//{{AFX_MSG(CAboutDlg)

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)

{

//{{AFX_DATA_INIT(CAboutDlg)

//}}AFX_DATA_INIT

}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CAboutDlg)

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)

//{{AFX_MSG_MAP(CAboutDlg)

// No message handlers

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CChatClientDlg dialog

CChatClientDlg::CChatClientDlg(CWnd* pParent /*=NULL*/)

: CDialog(CChatClientDlg::IDD, pParent)

{

//{{AFX_DATA_INIT(CChatClientDlg)

m_edit_server = _T("");

m_edit_msg = _T("");

//}}AFX_DATA_INIT

// Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}

void CChatClientDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CChatClientDlg)

DDX_Control(pDX, IDC_LIST_MSG, m_list_msg);

DDX_Text(pDX, IDC_EDIT_SEVER, m_edit_server);

DDX_Text(pDX, IDC_EDIT_MSG, m_edit_msg);

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CChatClientDlg, CDialog)

//{{AFX_MSG_MAP(CChatClientDlg)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_BN_CLICKED(IDC_BTN_CONNECT, OnBtnConnect)

ON_BN_CLICKED(IDC_BTN_DISCONNECT, OnBtnDisconnect)

ON_BN_CLICKED(IDC_BTN_MSG_SEND, OnBtnMsgSend)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CChatClientDlg message handlers

BOOL CChatClientDlg::OnInitDialog()

{

CDialog::OnInitDialog();

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.

ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);

ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);

if (pSysMenu != NULL)

{

CString strAboutMenu;

strAboutMenu.LoadString(IDS_ABOUTBOX);

if (!strAboutMenu.IsEmpty())

{

pSysMenu->AppendMenu(MF_SEPARATOR);

pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);

}

}

// Set the icon for this dialog. The framework does this automatically

// when the application's main window is not a dialog

SetIcon(m_hIcon, TRUE); // Set big icon

SetIcon(m_hIcon, FALSE); // Set small icon

// TODO: Add extra initialization here

GetDlgItem(IDC_BTN_CONNECT)->EnableWindow(TRUE);

GetDlgItem(IDC_BTN_DISCONNECT)->EnableWindow(FALSE);

GetDlgItem(IDC_BTN_MSG_SEND)->EnableWindow(FALSE);

GetDlgItem(IDCANCEL)->EnableWindow(TRUE);

return TRUE; // return TRUE unless you set the focus to a control

}

void CChatClientDlg::OnSysCommand(UINT nID, LPARAM lParam)

{

if ((nID & 0xFFF0) == IDM_ABOUTBOX)

{

CAboutDlg dlgAbout;

dlgAbout.DoModal();

}

else

{

CDialog::OnSysCommand(nID, lParam);

}

}

// If you add a minimize button to your dialog, you will need the code below

// to draw the icon. For MFC applications using the document/view model,

// this is automatically done for you by the framework.

void CChatClientDlg::OnPaint()

{

if (IsIconic())

{

CPaintDC dc(this); // device context for painting

SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

// Center icon in client rectangle

int cxIcon = GetSystemMetrics(SM_CXICON);

int cyIcon = GetSystemMetrics(SM_CYICON);

CRect rect;

GetClientRect(&rect);

int x = (rect.Width() - cxIcon + 1) / 2;

int y = (rect.Height() - cyIcon + 1) / 2;

// Draw the icon

dc.DrawIcon(x, y, m_hIcon);

}

{

CDialog::OnPaint();

}

}

// The system calls this to obtain the cursor to display while the user drags // the minimized window.

HCURSOR CChatClientDlg::OnQueryDragIcon()

{

return (HCURSOR) m_hIcon;

}

/////////////////////////////////////////////////////////////////////////////

// CMySocket

CMySocket::CMySocket()

{

}

CMySocket::~CMySocket()

{

}

// Do not edit the following lines, which are needed by ClassWizard.

#if 0

BEGIN_MESSAGE_MAP(CMySocket, CAsyncSocket)

//{{AFX_MSG_MAP(CMySocket)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

#endif // 0

/////////////////////////////////////////////////////////////////////////////

// CMySocket member functions

void CMySocket::OnClose(int nErrorCode)

{

// TODO: Add your specialized code here and/or call the base class if(nErrorCode == 0)

{

CChatClientDlg * p_Dlg;

p_Dlg = (CChatClientDlg *) ::AfxGetMainWnd();

p_Dlg->close();

CAsyncSocket::OnClose(nErrorCode);

}

void CMySocket::OnSend(int nErrorCode)

{

// TODO: Add your specialized code here and/or call the base class if(nErrorCode == 0)

{

CChatClientDlg * p_Dlg;

p_Dlg = (CChatClientDlg *) ::AfxGetMainWnd();

p_Dlg->send();

}

CAsyncSocket::OnSend(nErrorCode);

}

void CMySocket::OnReceive(int nErrorCode)

{

// TODO: Add your specialized code here and/or call the base class if(nErrorCode == 0)

{

CChatClientDlg * p_Dlg;

p_Dlg = (CChatClientDlg *) ::AfxGetMainWnd();

p_Dlg->recv();

}

CAsyncSocket::OnReceive(nErrorCode);

}

void CMySocket::OnConnect(int nErrorCode)

{

// TODO: Add your specialized code here and/or call the base class if(nErrorCode == 0)

{

CChatClientDlg * p_Dlg;

p_Dlg = (CChatClientDlg *) ::AfxGetMainWnd();

p_Dlg->connect();

}

CAsyncSocket::OnConnect(nErrorCode);

}

void CChatClientDlg::recv()

{

char buf[1024];

CString msg;

CString from = "对方:";

int len = m_worksocket.Receive(buf, 1024);

buf[len] = '\0';

msg = buf;

msg = from + msg;

m_list_msg.InsertString(0, msg);

}

void CChatClientDlg::send()

{

UpdateData(true);

if(!m_edit_msg.IsEmpty())

{

CString msg;

CString from = "自己:";

msg = from + m_edit_msg;

int len = m_edit_msg.GetLength();

m_worksocket.Send(m_edit_msg, len);

m_list_msg.InsertString(0, msg);

}

m_edit_msg.Empty();

UpdateData(FALSE);

}

void CChatClientDlg::close()

{

m_worksocket.Close();

AfxMessageBox("连接已经断开!");

GetDlgItem(IDC_BTN_CONNECT)->EnableWindow(TRUE);

GetDlgItem(IDC_BTN_DISCONNECT)->EnableWindow(FALSE);

GetDlgItem(IDC_BTN_MSG_SEND)->EnableWindow(FALSE);

GetDlgItem(IDCANCEL)->EnableWindow(TRUE);

}

void CChatClientDlg::connect()

{

AfxMessageBox("连接成功!");

GetDlgItem(IDC_BTN_MSG_SEND)->EnableWindow(TRUE);

GetDlgItem(IDC_BTN_DISCONNECT)->EnableWindow(TRUE);

GetDlgItem(IDC_BTN_CONNECT)->EnableWindow(FALSE);

GetDlgItem(IDCANCEL)->EnableWindow(FALSE);

}

void CChatClientDlg::OnBtnConnect()

{

// TODO: Add your control notification handler code here

// TODO: Add your control notification handler code here

UpdateData(TRUE);

if(!m_edit_server.IsEmpty())

{

m_worksocket.Create();

m_worksocket.Connect(m_edit_server, iPort);

GetDlgItem(IDC_BTN_CONNECT)->EnableWindow(FALSE);

}

m_edit_server.Empty();

}

void CChatClientDlg::OnBtnDisconnect()

{

// TODO: Add your control notification handler code here

close();

}

void CChatClientDlg::OnBtnMsgSend()

{

// TODO: Add your control notification handler code here

send();

}

ChatSever.cpp

#include "stdafx.h"

#include "ChatSever.h"

#include "ChatSeverDlg.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog

{

public:

CAboutDlg();

// Dialog Data

//{{AFX_DATA(CAboutDlg)

enum { IDD = IDD_ABOUTBOX };

//}}AFX_DATA

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CAboutDlg)

protected:

virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support //}}AFX_VIRTUAL

// Implementation

protected:

//{{AFX_MSG(CAboutDlg)

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)

{

//{{AFX_DATA_INIT(CAboutDlg)

//}}AFX_DATA_INIT

}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CAboutDlg)

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)

//{{AFX_MSG_MAP(CAboutDlg)

// No message handlers

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CChatSeverDlg dialog

CChatSeverDlg::CChatSeverDlg(CWnd* pParent /*=NULL*/)

: CDialog(CChatSeverDlg::IDD, pParent)

{

//{{AFX_DATA_INIT(CChatSeverDlg)

m_edit_msg = _T("");

//}}AFX_DATA_INIT

// Note that LoadIcon does not require a subsequent DestroyIcon in Win32 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

}

void CChatSeverDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CChatSeverDlg)

DDX_Control(pDX, IDC_LIST_MSG, m_list_msg);

DDX_Text(pDX, IDC_EDIT_MSG, m_edit_msg);

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CChatSeverDlg, CDialog)

//{{AFX_MSG_MAP(CChatSeverDlg)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_BN_CLICKED(IDC_BTN_SER_OPEN, OnBtnSerOpen)

ON_BN_CLICKED(IDC_BTN_SER_CLOSE, OnBtnSerClose)

ON_BN_CLICKED(IDC_BTN_DISCONNECT, OnBtnDisconnect)

ON_BN_CLICKED(IDC_BTN_MSG_SEND, OnBtnMsgSend)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CChatSeverDlg message handlers

BOOL CChatSeverDlg::OnInitDialog()

{

CDialog::OnInitDialog();

// Add "About..." menu item to system menu.

// IDM_ABOUTBOX must be in the system command range.

ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);

ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);

if (pSysMenu != NULL)

{

CString strAboutMenu;

strAboutMenu.LoadString(IDS_ABOUTBOX);

if (!strAboutMenu.IsEmpty())

{

pSysMenu->AppendMenu(MF_SEPARATOR);

pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);

}

}

// Set the icon for this dialog. The framework does this automatically

// when the application's main window is not a dialog

SetIcon(m_hIcon, TRUE); // Set big icon

SetIcon(m_hIcon, FALSE); // Set small icon

// TODO: Add extra initialization here

GetDlgItem(IDC_BTN_SER_OPEN)->EnableWindow(TRUE);

GetDlgItem(IDC_BTN_SER_CLOSE)->EnableWindow(FALSE);

GetDlgItem(IDC_BTN_DISCONNECT)->EnableWindow(FALSE);

GetDlgItem(IDC_BTN_MSG_SEND)->EnableWindow(FALSE);

GetDlgItem(IDCANCEL)->EnableWindow(TRUE);

UpdateData(FALSE);

return TRUE; // return TRUE unless you set the focus to a control

}

void CChatSeverDlg::OnSysCommand(UINT nID, LPARAM lParam)

{

if ((nID & 0xFFF0) == IDM_ABOUTBOX)

{

CAboutDlg dlgAbout;

dlgAbout.DoModal();

}

else

{

CDialog::OnSysCommand(nID, lParam);

}

}

// If you add a minimize button to your dialog, you will need the code below

// to draw the icon. For MFC applications using the document/view model,

// this is automatically done for you by the framework.

void CChatSeverDlg::OnPaint()

{

if (IsIconic())

{

CPaintDC dc(this); // device context for painting

SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

// Center icon in client rectangle

int cxIcon = GetSystemMetrics(SM_CXICON);

int cyIcon = GetSystemMetrics(SM_CYICON);

CRect rect;

GetClientRect(&rect);

int x = (rect.Width() - cxIcon + 1) / 2;

int y = (rect.Height() - cyIcon + 1) / 2;

// Draw the icon

dc.DrawIcon(x, y, m_hIcon);

}

else

{

CDialog::OnPaint();

}

}

// The system calls this to obtain the cursor to display while the user drags

// the minimized window.

HCURSOR CChatSeverDlg::OnQueryDragIcon()

{

return (HCURSOR) m_hIcon;

}

/////////////////////////////////////////////////////////////////////////////

// CMySocket

CMySocket::CMySocket()

{

}

CMySocket::~CMySocket()

{

}

// Do not edit the following lines, which are needed by ClassWizard.

#if 0

BEGIN_MESSAGE_MAP(CMySocket, CAsyncSocket)

//{{AFX_MSG_MAP(CMySocket)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

#endif // 0

/////////////////////////////////////////////////////////////////////////////

// CMySocket member functions

void CMySocket::OnAccept(int nErrorCode)

{

// TODO: Add your specialized code here and/or call the base class if(nErrorCode == 0)

{

CChatSeverDlg * p_Dlg;

p_Dlg = (CChatSeverDlg*) ::AfxGetMainWnd();

p_Dlg->accept();

}

CAsyncSocket::OnAccept(nErrorCode);

}

void CMySocket::OnClose(int nErrorCode)

{

// TODO: Add your specialized code here and/or call the base class if(nErrorCode == 0)

{

CChatSeverDlg * p_Dlg;

p_Dlg = (CChatSeverDlg *) ::AfxGetMainWnd();

p_Dlg->close();

}

CAsyncSocket::OnClose(nErrorCode);

void CMySocket::OnReceive(int nErrorCode)

{

// TODO: Add your specialized code here and/or call the base class if(nErrorCode == 0)

{

CChatSeverDlg * p_Dlg;

p_Dlg = (CChatSeverDlg *) ::AfxGetMainWnd();

p_Dlg->recv();

}

CAsyncSocket::OnReceive(nErrorCode);

}

void CMySocket::OnSend(int nErrorCode)

{

// TODO: Add your specialized code here and/or call the base class if(nErrorCode == 0)

{

CChatSeverDlg * p_Dlg;

p_Dlg = (CChatSeverDlg *) ::AfxGetMainWnd();

p_Dlg->send();

}

CAsyncSocket::OnSend(nErrorCode);

}

void CChatSeverDlg::accept()

{

struct sockaddr_in cli;

int len = sizeof(cli);

CString strIpAddr;

m_listensocket.Accept(m_worksocket, (SOCKADDR*)&cli, &len);

strIpAddr = inet_ntoa(cli.sin_addr);

strIpAddr = "新的连接:" + strIpAddr;

AfxMessageBox(strIpAddr);

GetDlgItem(IDC_BTN_SER_CLOSE)->EnableWindow(FALSE);

GetDlgItem(IDC_BTN_MSG_SEND)->EnableWindow(TRUE);

GetDlgItem(IDC_BTN_DISCONNECT)->EnableWindow(TRUE);

void CChatSeverDlg::recv()

{

char buf[1024];

CString msg;

CString from = "对方:";

int len = m_worksocket.Receive(buf, 1024);

buf[len] = '\0';

msg = buf;

msg = from + msg;

m_list_msg.InsertString(0, msg);

UpdateData(FALSE); //将对应变量中字符串送控件中显示

}

void CChatSeverDlg::send()

{

UpdateData(TRUE); //将控件中显示的字符串送到对应的变量中

if(!m_edit_msg.IsEmpty())

{

CString msg;

CString from = "自己:";

int len = m_edit_msg.GetLength();

m_worksocket.Send(m_edit_msg, len);

msg = from + m_edit_msg;

m_list_msg.InsertString(0, msg);

}

m_edit_msg.Empty();

UpdateData(FALSE); //将对应变量中字符串送控件中显示,即这里显示为空}

void CChatSeverDlg::close()

{

m_worksocket.Close(); //释放worksocket底层套接字占用的资源

AfxMessageBox("连接已经断开!");

GetDlgItem(IDC_BTN_SER_CLOSE)->EnableWindow(TRUE);

GetDlgItem(IDC_BTN_MSG_SEND)->EnableWindow(FALSE);

GetDlgItem(IDC_BTN_DISCONNECT)->EnableWindow(FALSE); }

void CChatSeverDlg::OnBtnSerOpen()

{

UpdateData(TRUE);

// TODO: Add your control notification handler code here

m_listensocket.Create(iPort);

m_listensocket.Listen();

GetDlgItem(IDC_BTN_SER_OPEN)->EnableWindow(FALSE);

GetDlgItem(IDC_BTN_SER_CLOSE)->EnableWindow(TRUE);

GetDlgItem(IDCANCEL)->EnableWindow(FALSE);

}

void CChatSeverDlg::OnBtnSerClose()

{

// TODO: Add your control notification handler code here

m_listensocket.Close(); //释放listensocket底层套接字占用的资源GetDlgItem(IDC_BTN_SER_OPEN)->EnableWindow(TRUE);

GetDlgItem(IDC_BTN_SER_CLOSE)->EnableWindow(FALSE);

GetDlgItem(IDC_BTN_MSG_SEND)->EnableWindow(FALSE);

GetDlgItem(IDCANCEL)->EnableWindow(TRUE);

GetDlgItem(IDC_BTN_DISCONNECT)->EnableWindow(FALSE); }

void CChatSeverDlg::OnBtnDisconnect()

{

// TODO: Add your control notification handler code here

// TODO: Add your control notification handler code here

close();

}

void CChatSeverDlg::OnBtnMsgSend()

{

// TODO: Add your control notification handler code here

send();

}

实验结果与分析:本次实验运行结果是客户端与服务器端可以互相通信,并且在连接成功和断开连接时都有对话框提示。通过这次上机实验,让我熟练了对MFC基于对话框的编程,训练了自己的一项编程技能,让我受益匪浅。由于编程量比较大,所以编程的时候要特别当心出错,这次是按照老师给的实验讲义编程的,希望以后自己可以独立完成一次编程!

网络管理实验报告

实验1:W i n d o w2003S N M P服务配置 1.掌握简单网络管理协议的操作知识 (SNMP网络管理模型,抽象语法表示(ASN.1),管理信息结构(SMI),常用的管理信息(MIB)。SNMP协议数据格式与工作模式,网络管理系统) 2.收集在网络上实现SNMP所必需信息 (1)一个典型的网络管理系统包括四个要素:管理员、管理代理、管理信息数据库、代理服务设备。一般说来,前三个要素是必需的,第四个只是可选项。 (2)网络管理软件的重要功能之一,就是协助网络管理员完成管理整个网络的工作。网络管理软件要求管理代理定期收集重要的设备信息,收集到的信息将用于确定独立的网络设备、部分网络、或整个网络运行的状态是否正常。管理员应该定期查询管理代理收集到的有关主机运转状态、配置及性能等的信息。? 网络管理代理是驻留在网络设备中的软件模块,这里的设备可以是UNIX工作站、网络打印机,也可以是其它的网络设备。管理代理软件可以获得本地设备的运转状态、设备特性、系统配置等相关信息。管理代理软件就象是每个被管理设备的信息经纪人,它们完成网络管理员布置的采集信息的任务。管理代理软件所起的作用是,充当管理系统与管理代理软件驻留设备之间的中介,通过控制设备的管理信息数据库(MIB)中的信息来管理该设备。管理代理软件可以把网络管理员发出的命令按照标准的网络格式进行转化,收集所需的信息,之后返回正确的响应。在某些情况下,管理员也可以通过设置某个MIB对象来命令系统进行某种操作。 路由器、交换器、集线器等许多网络设备的管理代理软件一般是由原网络设备制造商提供的,它可以作为底层系统的一部分、也可以作为可选的升级模块。设备厂商决定他们的管 理代理软件可以控制哪些MIB对象,哪些对象可以反映管理代理软件开发者感兴趣的问题。 (3)管理信息数据库(MIB)定义了一种数据对象,它可以被网络管理系统控制。MIB是一个信息存储库,这里包括了数千个数据对象,网络管理员可以通过直接控制这些数据对象去控制、配置或监控网络设备。网络管理系统可以通过网络管理代理软件来控制MIB数据对象。不管到底有多少个MIB

网络管理实验二

信息与通信工程学院 网络管理 实验报告 专业信息工程 班级 姓名 学号

实验四计算机与网络资源的探测和扫描 一、实验目的 熟悉Sniffer界面并掌握Sniffer工具的使用方法,学习Sniffer监控网络的模式,实现网络性能监控、节点状态查看,掌握Sniffer数据包过滤的基本设置方法。 并且掌握Sniffer工具的使用方法,实现广播风暴的监控,HTTP、SNMP等协议数据包的捕获,以理解TCP/IP协议族中多种协议的数据结构、会话建立和终止的过程、TCP序号、应答序号的变化规律。并且,通过实验了解HTTP等协议明文传输的特性,以建立安全意识,防止HTTP等协议由于传输明文密码造成的泄密。 二、实验内容 1.监控网络性能; 2.查看节点状态; 3.捕获数据包; 4.监控广播风暴。 三、实验工具 Sniffer工具 四、实验步骤 1.熟悉Sniffer Portabl e工具的使用; 2.监控网络性能; 3.使用主机列表模式,矩阵模式,应用响应模式,协议分布模式,全局统计模式查看Sniffer 监控网络的模式; 4.查看节点状态。新建或搜索监控主机,然后查看监控网络的主机列表,并查看所有监控 站点的通信矩阵分布图; 5.设置数据包捕获过滤; 6.监控网络风暴; 7.捕获HTTP数据包并进行分析; 8.SNMP数据包的捕获与分析。

五、实验报告 1.观察并统计网络中各个协议的分布情况,统计当前通信量最大的5种协议以及各种协 议所占的比重,完成表4-1。 答: 表4-1 网络中存在的协议HTTP NetBIOS_NS_U NetBIOS_DGM_U DNS Bollopc 各种协议的比重80.19% 10.48% 4.64% 2.95% 0.78% 2.试设置Sniffer监控过滤器,过滤ARP协议包,具体如下: (1)打开主机列表监控窗口,选择Detail模式查看监控数据,并记录列表中捕获到的协议与 相应信息。 (2)设置Sniffer的Monitor过滤器,使其仅检测ARP协议,观察此时的主机列表窗口显示 内容与(1)中显示信息的区别,说明使用Monitor过滤器的作用和优点。 答: (1)

东南大学计算机网络第四次实验报告

东南大学自动化学院 实验报告 课程名称:信息通信网络概论 第4次实验 实验名称:实验四﹑计算机网络通信应用程序设计 院(系):自动化专业:自动化 姓名:学号: 实验室:金智楼实验组别: 同组人员:实验时间: 2016 年 12 月 20 日 评定成绩:审阅教师: 目录 (一)基于TCP/IP的计算机网络通信应用程序设计 一.实验目的和要求 (3) 二.实验原理·························································· 3 三. 实验方案与实验步 骤 (3) 四.实验设备与器材配置 (4)

五.实验记录·························································· 4 六.实验总结························································· 11 附录:部分代码 (二)基于UDP/IP的计算机网络通信应用程序设计 一.实验目的和要求 (17) 二.实验原理························································ 17 三. 实验方案与实验步 骤 (17) 四.实验设备与器材配置 (18) 五.实验记录························································ 18 六.实验总结························································ 25

网络管理实验报告

网络管理实验报告 Document number:NOCG-YUNOO-BUYTT-UU986-1986UT

实验1:Window2003 SNMP服务配置 1.掌握简单网络管理协议的操作知识 (SNMP网络管理模型,抽象语法表示(),管理信息结构(SMI),常用的管理信息(MIB)。SNMP协议数据格式与工作模式,网络管理系统) 2.收集在网络上实现SNMP所必需信息 (1)一个典型的网络管理系统包括四个要素:管理员、管理代理、管理信息数据库、代理服务设备。一般说来,前三个要素是必需的,第四个只是可选项。 (2)网络管理软件的重要功能之一,就是协助网络管理员完成管理整个网络的工作。网络管理软件要求管理代理定期收集重要的设备信息,收集到的信息将用于确定独立的网络设备、部分网络、或整个网络运行的状态是否正常。管理员应该定期查询管理代理收集到的有关主机运转状态、配置及性能等的信息。? 网络管理代理是驻留在网络设备中的软件模块,这里的设备可以是UNIX 工作站、网络打印机,也可以是其它的网络设备。管理代理软件可以获得本地设备的运转状态、设备特性、系统配置等相关信息。管理代理软件就象是每个被管理设备的信息经纪人,它们完成网络管理员布置的采集信息的任务。管理代理软件所起的作用是,充当管理系统与管理代理软件驻留设备之间的中介,通过控制设备的管理信息数据库(MIB)中的信息来管理该设备。管理代理软件可以把网络管理员发出的命令按照标准的网络格式进行转化,收集所需的信

息,之后返回正确的响应。在某些情况下,管理员也可以通过设置某个MIB对象来命令系统进行某种操作。 路由器、交换器、集线器等许多网络设备的管理代理软件一般是由原网络设备制造商提供的,它可以作为底层系统的一部分、也可以作为可选的升级模块。设备厂商决定他们的管 理代理软件可以控制哪些MIB对象,哪些对象可以反映管理代理软件开发者感兴趣的问题。 (3)管理信息数据库(MIB)定义了一种数据对象,它可以被网络管理系统控制。MIB是一个信息存储库,这里包括了数千个数据对象,网络管理员可以通过直接控制这些数据对象去控制、配置或监控网络设备。网络管理系统可以通过网络管理代理软件来控制MIB数据对象。不管到底有多少个MIB数据对象,管理代理都需要维持它们的一致性,这也是管理代理软件的任务之一。现在已经定义的有几种通用的标准管理信息数据库,这些数据库中包括了必须在网络设备中支持的特殊对象,所以这几种MIB可以支持简单网络管理协议

网络管理实习周记

网络管理实习周记 网络管理实习周记1 1 工作的生活已渐渐适应甚至可以说是习惯了,每天的进进出出,在路上的奔途常常感觉自己就像个搬运工,不过当听到别人的感谢时,心里也很开心,一直是每天都有这样的感谢才可以让我觉得很有干劲。这周帮同事一起去给校园广播布线,一直在学校里,每天都可以听到校园各处的广播声,可是没想过自己有一天也会给这些广播施工,为了知道校园多媒体的概念和架设,我也在网上查了很多的资料看,可是觉得太繁琐,一直都没弄懂。可是当看到同事的施工以后,在实践中发觉其实也并不是太难,对于布线的规则也大体相同,只是线不同而已。还有电线的接线,若不是看的,我想我会一直弄不明白的。对于校园广播中最核心的就是工矿和播放主机的设置了,在校园多媒体中常用的设备还有音箱、音柱、话筒、投影、中控……,对于具体的校园多媒体架设还是有很多不懂得地方,以后得努力争取机会去多了解。现在才渐渐明白为何当初很多人都反对女生学网络工程专业,在施工的过程中真的很辛苦,但是我还是没有后悔过,这样的工作我也可以承受,兴趣比任何都重要。现在已经常常到县里的各个单位跑了,主要还是送送东西,维修维修计算机,还有网络的连通。也开始接触各式各样的人群,以前很讨厌在人多的地方待,更别说与人

交谈了,可是在社会的压力面前才发觉自己也可以这样的滔滔不绝了。社会的历练真的可以改变很多,我不会在困难面前服输,所以我会努力的。 2 离开了学校,告别了学生生涯,开始了一直追寻的工作生活。虽然不是第一次过上班族的生活,但还是会有兴奋与紧张感。第一周的工作生活过的总是充满好奇的,可是却也让自己感到了不小的压力,刚开始上班,老板并没有让我做什么具体的工作,来的第一天和老板一起去了几个学校,算是见识一下社会中的交际吧。因为最近在为县里的几个学校机房布线,后来的几天又跑了几个学校,但都不是真的做些什么,都是去看看现场,跑了很远的路,看了好几个地方,回来后开始画布线图了。当刚开始还会按照学校作业那样一板一眼的想着该怎么开始,当看别人的工作后才觉得生活讲求的是效率。第一周都只是在了解工作的环境和工作内容,对于什么都没经历过的我而言,工作的内容让我充满了好奇,可是当定下心来审视工作环境时,不免又有那么点的失望了。每天坐在电脑前看着同事进进出出的忙碌,似乎到是有点羡慕,自己什么时候也可以像他们一样独当一面呢? 3 第二周的工作渐渐的开始步入正轨了,现在也开始做一些事了,很少向外跑,因为现在才发觉自己对这个城市认识的太少了。好多的路都是不认识的。现在大部分的时间都是在店里做些事。当什么都不做时,总高傲的以为自己什么都会,可是当真的做的时候才发觉原来

计算机网络实验二 虚拟局域网

实验二虚拟局域网 实验2.1 一、实验目的 理解Port Vlan 的配置。 二、实验内容 通过划分PORT VLAN 实现本交换端口隔离。 三、实验拓扑 四、实验设备 S2126G (1 台) 五、实验步骤 第一步:在未划VLAN 前两台PC 互相ping 可以通。 第二步:创建VLAN 。 Switch#configure terminal ! 进入交换机全局配置模式。 Switch(config)# vlan 10 ! 创建vlan 10 。 Switch(config-vlan)# name test10 ! 将Vlan 10 命名为test10 。 Switch(config)# vlan 20 ! 创建vlan 20 。 Switch(config-vlan)# name test20 ! 将Vlan 20 命名为test20 。 第三步:将接口分配到VLAN 。 Switch(config)# interface fastethernet 0/5 ! 进入fastethernet 0/5 的接口配置模式。 Switch(config-if)# switch access vlan 10 ! 将fastethernet 0/5 端口加入vlan10 中。 Switch(config)# interface fastethernet 0/15 ! 进入fastethernet 0/15 的接口配置模式。 Switch(config-if)# switch access vlan 20 ! 将fastethernet 0/15 端口加入 vlan 20 中。 第四步:两台PC 互相ping 不通。 验证测试: Switch#show vlan VLAN Name Status Ports ---- -------------------------------- --------- ------------------------------- 1 default active Fa0/1 ,Fa0/ 2 ,Fa0/3 Fa0/4 ,Fa0/6 ,Fa0/7 Fa0/8 ,Fa0/9 ,Fa0/10

网络管理技术技术答案参考

选择* 填空* 、使用地址转换协议将地址转换为地址。 、协议的关键要素是语法、语义、时序。 、网络管理的基本要素主要有三个方面:网络管理对象、网络管理方法和 网络管理系统。 、入侵检测系统一般采取三种技术手段对收集到的信号进行分析,即模式匹配,统计分析和完整性分析 、的核心就是就是在利用公共网络建立虚拟私有网。 、配置管理的目的在于维护、优化网络性能。 、故障管理的主要内容包括故障检测、故障诊断、故障排除和故障记录。 、协议是技术的核心协议。 、三种最广为认知的网络管理体系结构是集中式体系结构、分层式体系结构、 分布式体系结构。 、在计算机网络的管理过程中,用来使管理信息库与实际设备或设施的状态和参数保持一致的方法主要有两种,一种是基于中断的事件驱动方法,另一种是轮询驱动方法 。 、按照网络故障的性质划分时,可将网络故障分为物理故障、逻辑故障。 、的设计具有简单性和扩展性。 、所谓虚拟存储器是指无论物理存储设备在何处、也无需知道存储设备有多少,只要在逻辑上为计算机呈现一个虚拟的存储空间即可。 、重定向恢复是指将备份的文件恢复到另一个不同的位置或系统上去。 、预先在防火墙内设定的黑客判别规则称为防火墙策略。 、在通信过程中,采用离散的电信号表示的数据称为数字数据,而采用连续电波表示的数据称为模拟数据。 、网络的主要功能包括数据通信、资源共享、提高系统的可靠性和分布处理。、桌面管理的重点是资产管理、软件分配和远程控制。 、管理信息库中的数据可分为三类:感测数据、结构数据和控制数据。 、所谓流量控制就是如何处理发送发的发送能力比接收方的接收能力大的问题。 、网络代理具有两个基本功能:一是从中读取各种变量值;二是在中修改各种变量值。 、在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器,它有效地监控着内部网和因特网之间的任何活动,保证了内部网络的安全。 、多路复用技术,是指多个用户同时使用一条通信线路收发数据的技术,通常有频分复用技术、时分复用技术以及波分复用技术。 、搭建网站服务器的方法主要有两种:即和。 、当一个复杂网络摆在网管员面前时,你最首要的任务就是尽快熟悉网络——包括设备、网络结构、运行情况等,并最终做到了如指掌。只有这样,才能更好地管理、维护自己的网络。 、是连接一系列使用因特网协议()的客户网络,它是存在于一个或者多个由安全或虚拟网络连接在一起的防火墙之后的一些基于的节点组成的网络。它的核心技术是协议。 、差错控制是指在数据通信过程中,发现差错、检测差错,对差错进行纠

计算机网络管理实验报告

计算机网络管理实验报告 作者: 孙玉虎学号:914106840229 学院(系):计算机科学与工程学院 专业: 网络工程 题目: SNMP报文和MIB 指导教师陆一飞 2016年 12 月

目录 第一部分:SNMP报文的抓取与分析 (3) 1.实验目的 (3) 2.实验环境 (3) 3.实验内容 (3) 4.实验思路 (4) 5.实验具体过程 (4) 准备工作 (4) 报文抓取 (8) 报文分析 (10) 第二部分:MIB的了解 (13) 1.实验目的 (13) 2.实验环境 (13) 3.实验内容 (13) 4.实验思路 (14) 5.实验具体过程 (14) 准备工作 (14) 查看MIB组成结构 (14) 了解MIB中变量、成员 (16) MIB的基本操作(GET) (17) 第三部分:实验总结与体会 (18) 实验出错的地方和解决方案 (18) 实验总结 (19)

第一部分:SNMP报文的抓取与分析 1. 实验目的 ●熟悉SNMP报文格式 ●熟悉SNMP的基本操作 2. 实验环境 ●系统环境 两台机器均为windows 10系统 ●网络拓扑 两台机器通过网线直连 ●实验工具 Snmputil 和wireshark 3. 实验内容 ●SNMP报文(get-next-request)格式抓取 ●SNMP报文(get-next-request)分析

4. 实验思路 ●SNMP环境的配置 一、在两台电脑上安装SNMP 二、在两台电脑上配置SNMP 三、测试SNMP ●SNMP报文的抓取 一、在一台电脑上发送SNMP报文 二、在另外一台电脑上使用wireshark工具获取 ●SNMP报文的分析 一、在Wireshark上提取SNMP报文 二、对SNMP报文进行分析 5. 实验具体过程 准备工作 一、在主机1上安装软件Wireshark,在主机2上安装软件snmputil,并关闭 两台机器的防火墙

《网络管理技术》实验指导书

《网络管理技术》实验指导书 一.实验总学时(课外学时/课内学时):10 总学分:2.5(课程) 必开实验个数: 2 选开实验个数:0 二.适用专业:网络工程2006级 三.考核方式及办法:在规定实验时间内完成实验要求,依据实验过程、实验结果和实验报告综合考核。 四.配套的实验教材或指导书:自编实验指导书 五. 实验项目: 实验一SiteView的安装、管理配置方式和监测管理 1、实验目的 了解网络管理软件SiteView的基本构成、主要功能和技术特点,掌握软件的安装使用方法;了解SiteView的管理配置方式,熟悉SiteView监测管理的主要内容和使用方法。 2、实验工具及环境 Windows2000系统网络环境或单机,SiteViewTrailVersion5.6网络管理软件及有关技术文档。 3、实验计划学时 4学时上机。 4、实验内容及操作步骤 ⑴阅读SiteView系统技术白皮书,了解其系统结构、技术特点、对不同网络和不同需要的适用情况、SiteView主要组成子系统及其功能。 SiteView系统技术白皮书以PDF文档格式提供在实验目录下。 ⑵安装SiteView系统,熟悉其安装过程和要点。 ①在实验机上SiteView_TrialVersion文件夹下有系统安装文件SiteView.exe,直接运行进行安装。需要注意的是系统提示选择安装目录时要选择将SiteView安装在操作系统盘(C:)上,否则SiteView的启动会有问题。 ②SiteView启动后提示输入登录名和口令,试用版的登录名为admin,口令为空。 ③SiteView启动后会在系统服务中启动两个服务,分别是SiteView和SiteViewSchedule。要在系统中添加对网络上其他主机的监测,需要将这两个服务的登录身份设置为具有系统管理员权限的身份。操作如下: 打开“控制面板—管理工具—服务”选择SiteView服务,先终止服务再点击属性,选择“以本帐号登录”,输入本地主机的管理员帐号名称和口令,点击完成,再次启动SiteView服务,则SiteView服务的登录身份就成为具有管理员权限的身份。同样对SiteViewSchedule进行操作。 ⑶了解SiteView的整体性能,熟悉其常用术语和操作界面。 SiteView常用术语: 监测主机:安装SiteView的服务器; 监测对象:被监测主机监测的应用系统、服务器、网络设备及其相关性能指标的总称; 监测器:SiteView用于监测网络系统的某项指标的一个应用程序。每个监测器在用户设置监测后都有三个状态:正常、危险和错误;

实验四_路由器的基本配置实验报告

实验四路由器基本配置 一、实验目的 1、熟练掌握配置静态路由; 2、学习使用路由总结。 二、实验内容 1、拓扑结构图 2、网络规划 (2)IP 3、进行路由器基本配置 (1)路由器选择2621XM,为每台路由器安装模块WIC-2T,以便配置串行线路; (2)修改路由器名称。 4、配置环回端口 为每个网络在相应的路由器上创建一个环回端口,并将端口地址设为该网络的网关地址。 (1)配置R1环回端口: R1>en

R1r#conf t Enter configuration commands, one per line. End with CNTL/Z. R1(config)#interface loopback0 %LINK-5-CHANGED: Interface Loopback0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up R1(config-if)#ip address 192.168.0.1 255.255.255.128 R1(config-if)#exit R1(config)#interface loopback1 %LINK-5-CHANGED: Interface Loopback1, changed state to up R1(config-if)# %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback1, changed state to up R1(config-if)#ip address 192.168.0.129 255.255.255.128 R1(config-if)#exit R1(config)#interface loopback2 %LINK-5-CHANGED: Interface Loopback2, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback2, changed state to up R1(config-if)#ip address 192.168.4.1 255.255.255.0 (2)配置R2环回口: R2>en R2#conf t Enter configuration commands, one per line. End with CNTL/Z. R2(config)#interface loopback0 %LINK-5-CHANGED: Interface Loopback0, changed state to up %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up R2(config-if)#ip address 192.168.2.1 255.255.255.0 (3)配置R3环回口: R3>en R3#conf t Enter configuration commands, one per line. End with CNTL/Z. R3(config)#interface loopback0

计算机网络实验四

实验四IEEE 802.3协议分析和以太网 一、实验目的 1、分析802.3协议 2、熟悉以太网帧的格式 二、实验环境 与因特网连接的计算机网络系统;主机操作系统为windows;Ethereal、IE等软件。 三、实验步骤 (注:本次实验先完成前面的“1 俘获并分析以太网帧”,并回答好后面的第1-10 题,完成后看书学习一下arp的相关容) 1、俘获并分析以太网帧 (1)清空浏览器缓存(在IE窗口中,选择“工具/Internet选项/删除文件”命令)。 (2)启动Ethereal,开始分组俘获。 (3)在浏览器的地址栏中输入: https://www.360docs.net/doc/6c13703564.html,/ethereal-labs/HTTP-ethereal-lab-file3.html,浏览器将显示冗长的美国权力法案。 (4)停止分组俘获。首先,找到你的主机向服务器https://www.360docs.net/doc/6c13703564.html,发送的HTTP GET报文的分组序号,以及服务器发送到你主机上的HTTP 响应报

文的序号。其中,窗口大体如下。 选择“Analyze->Enabled Protocols”,取消对IP复选框的选择,单击OK(不这样设置也可,建议先不要这样操作)。窗口如下。 (5)选择包含HTTP GET报文的以太网帧,在分组详细信息窗口中,展开Ethernet II信息部分。根据操作,回答“四、实验报告容”中的1-5题

(6)选择包含HTTP 响应报文中第一个字节的以太网帧,根据操作,回答“四、实验报告容”中的6-10题 2、ARP (1)利用MS-DOS命令:arp 或c:\windows\system32\arp查看主机上ARP缓存的容。根据操作,回答“四、实验报告容”中的11题。 (2)利用MS-DOS命令:arp-d * 清除主机上ARP缓存的容。 (3)清除浏览器缓存。 (4)启动Ethereal,开始分组俘获。 在浏览器的地址栏中输入: https://www.360docs.net/doc/6c13703564.html,/ethereal-labs/HTTP-ethereal-lab-file3.html,浏览器将显示冗长的美国权力法案。 (5)停止分组俘获。选择“Analyze->Enabled Protocols”,取消对IP复选框的选择,单击OK。窗口如下。根据操作,回答“四、实验报告容”中的12-15题。

计算机的网络实验四

实验四 IEEE 802.3协议分析和以太网 一、实验目的 1、分析802.3协议 2、熟悉以太网帧的格式 二、实验环境 与因特网连接的计算机网络系统;主机操作系统为windows;Ethereal、IE 等软件。 三、实验步骤 (注:本次实验先完成前面的“1 俘获并分析以太网帧”,并回答好后面的第1-10 题,完成后看书学习一下arp的相关内容) 1、俘获并分析以太网帧 (1)清空浏览器缓存(在IE窗口中,选择“工具/Internet选项/删除文件” 命令)。 (2)启动Ethereal,开始分组俘获。 (3)在浏览器的地址栏中输入: https://www.360docs.net/doc/6c13703564.html,/ethereal-labs/HTTP-ethereal-lab-file3. html,浏览器将显示冗长的美国权力法案。 (4)停止分组俘获。首先,找到你的主机向服务器https://www.360docs.net/doc/6c13703564.html,发送的HTTP GET报文的分组序号,以及服务器发送到你主机上的HTTP 响应报文的序号。其中,窗口大体如下。

选择“Analyze->Enabled Protocols”,取消对IP复选框的选择,单击OK(不这样设置也可,建议先不要这样操作)。窗口如下。 (5)选择包含HTTP GET报文的以太网帧,在分组详细信息窗口中,展开Ethernet II信息部分。根据操作,回答“四、实验报告内容”中的1-5题 (6)选择包含HTTP 响应报文中第一个字节的以太网帧,根据操作,回答“四、实验报告内容”中的6-10题 2、ARP

(1)利用MS-DOS命令:arp 或 c:\windows\system32\arp查看主机上ARP缓存的内容。根据操作,回答“四、实验报告内容”中的11题。 (2)利用MS-DOS命令:arp -d * 清除主机上ARP缓存的内容。 (3)清除浏览器缓存。 (4)启动Ethereal,开始分组俘获。 在浏览器的地址栏中输入: https://www.360docs.net/doc/6c13703564.html,/ethereal-labs/HTTP-ethereal-lab-file3. html,浏览器将显示冗长的美国权力法案。 (5)停止分组俘获。选择“Analyze->Enabled Protocols”,取消对IP复选框的选择,单击OK。窗口如下。根据操作,回答“四、实验报告内容”中的12-15题。 四、实验报告内容 在实验的基础上,回答以下问题: 1、你所在主机的48位以太网地址是多少? 2、以太网Frame中目标主机48位的地址是多少?它是 https://www.360docs.net/doc/6c13703564.html,服务器的以太网地址吗?如果不是,该地址是 什么设备的以太网地址?

网络管理实验报告

实验1:Window2003 SNMP服务配置 1.掌握简单网络管理协议的操作知识 (SNMP网络管理模型,抽象语法表示(ASN.1),管理信息结构(SMI),常用的管理信息(MIB)。SNMP协议数据格式与工作模式,网络管理系统) 2.收集在网络上实现SNMP所必需信息 (1)一个典型的网络管理系统包括四个要素:管理员、管理代理、管理信息数据库、代理服务设备。一般说来,前三个要素是必需的,第四个只是可选项。 (2)网络管理软件的重要功能之一,就是协助网络管理员完成管理整个网络的工作。网络管理软件要求管理代理定期收集重要的设备信息,收集到的信息将用于确定独立的网络设备、部分网络、或整个网络运行的状态是否正常。管理员应该定期查询管理代理收集到的有关主机运转状态、配置及性能等的信息。 网络管理代理是驻留在网络设备中的软件模块,这里的设备可以是UNIX工作站、网络打印机,也可以是其它的网络设备。管理代理软件可以获得本地设备的运转状态、设备特性、系统配置等相关信息。管理代理软件就象是每个被管理设备的信息经纪人,它们完成网络管理员布置的采集信息的任务。管理代理软件所起的作用是,充当管理系统与管理代理软件驻留设备之间的中介,通过控制设备的管理信息数据库(MIB)中的信息来管理该设备。管理代理软件可以把网络管理员发出的命令按照标准的网络格式进行转化,收集所需的信息,之后返回正确的响应。在某些情况下,管理员也可以通过设置某个MIB对象来命令系统进行某种操作。 路由器、交换器、集线器等许多网络设备的管理代理软件一般是由原网络设备制造商提供的,它可以作为底层系统的一部分、也可以作为可选的升级模块。设备厂商决定他们的管

计算机网络管理实习报告

计算机网络管理实习报告 导语:通过网络管理实习,不仅使我学习到了专业的实践知识,还学到了更多的处事方法,我明白了要想有一番作为就必须要脚踏实地,多多学习。下面是小编带来的计算机网络管理实习报告,欢迎阅读。 计算机网络管理实习报告1 1、实习题目 计算机网络维护 2、实习目的 此次实习不单单是掌握更多的专业知识,而是更多的学习到在学校里学不到的东西。在这家企业做网络管理员能在实践中了解社会,可以更深一步的巩固在学校里学习的知识,并可以锻炼自己的实际操作能力。通过本次实习学到很多在课堂上根本就学不到的知识,也打开了视野,增长了见识,使我更多地接触社会、实践于社会,学会为人处世之道,并培养严谨的工作作风,为将来走上工作岗位打下良好的基础。 3、实习时间 4、实习地点

XX省XX市 5、实习单位 XX建筑有限公司 6、实习内容和过程 我的实习职位是网络管理,负责计算机及其网络的维护,保证公司的计算机都能够正常运行及保证网络安全。 刚来公司的时候,我对于一切还处于好奇的阶段,一切的事务对于我来说都是很陌生的,每天的工作也不是很累,但是很快我就适应了,过了一段时间后,我对于周边的环境都已经很熟悉了。在公司里,经过经理的介绍,我们得知该公司每天都需要和兄弟公司以及客户等之间进行通信,单位里的计算机都加入了域,在域环境下进行工作。其中域的一些好处就是:方便管理,权限管理相对集中,安全性高,有利于企业单位一些机密资料的管理,更方便某些如isaserver、exchangeserver等软件的集成。单位里的计算机大部分都集中在办公楼里面,每当其中的网络出了故障,就要从多方面入手去解决了,在实习的这段时间当中我接触到了多层面,多角度的网络维护技术。

网络路由实验报告

《网络路由技术》 实验报告 学生姓名 学号 指导教师 学院 专业班级 完成时间 2016年1月4日

目录 实验一网络模拟软件的使用 (3) 1、实验目的 (3) 2、实验要求 (3) 3、实验所需设备 (3) 4、实验步骤 (3) 5、实验中所使用命令的详细解释 (4) 6、实验的验证方式 (6) 7、实验总结 (6) 实验二使用Cisco1900系列交换机进行VLAN划分 (7) 1、实验目的 (7) 2、实验要求 (7) 3、实验所需设备 (8) 4、实验步骤 (8) 5、实验中所使用的命令的详细解释 (8) 6、实验的验证方式 (9) 7、实验总结 (10) 8、思考题 (10) 实验三多个交换机间的VLAN配置 (12) 1、实验目的 (12) 2、实验要求 (12) 3、实验所需的设备 (13) 4、实验步骤 (13) 5、实验中所使用的命令的详细解释 (13) 6、实验的验证方式 (14) 实验四静态路由 (16) 1、实验目的 (16) 2、实验要求 (16) 3、实验所需的设备 (16) 4、实验步骤 (16) 5、实验中所使用的命令的详细解释 (17) 6、实验的验证方式 (18) 7、实验总结 (19) 8、思考题 (19) 实验五RIP和IGRP的配置方法 (20) 1、实验目的 (20) 2、实验要求 (20) 3、实验所需要设备 (20) 4、实验步骤 (20) 5、实验中所使用的命令的详细解释 (21) 6、实验的验证方式 (23) 7、实验总结 (27) 8、思考题 (27)

实验一网络模拟软件的使用 1、实验目的 对路由器端口设置有一个大概的了解,并熟悉网络设备几种使用模式的转换以及路由器模拟软件的使用方法。 2、实验要求 根据下图的网络要求连接各路由器,按图中设置路由器的IP地址,路由器的名字使用:姓名简写+学号+路由器号。 3、实验所需设备 安装有Bosen Netsim模拟软件的计算机 4、实验步骤 1)画出网络拓扑图;

网络管理实验指导书

实验一学习环境搭建 一、实验目的及要求: 1. 了解网络管理的基本功能。 2. 了解网络管理的基本模型和组成。 3. 了解在Eclipse中建立SNMP4J工程。 4. 了解SNMP服务的安装和配置方法。 二、实验任务: 1.学会在windows xp中安装SNMP服务并配置SNMP代理 2.学会建立SNMP4J的Java工程 3.掌握命令行程序SnmpRequest的使用方法 三、实验学时:4学时 四、实验内容: SNMP网络管理定义了5种报文操作: GetRequest操作:用于管理进程从管理代理上面提取一个或者多个MIB参数值,这些参数都是在管理信息库中被定义的。 GetNextRequest操作:从管理代理上面提取一个或多个参数的下一个参数值。 SetRequest操作:设置管理代理的一个或多个MIB参数值。 GetResponse操作:管理代理返回一个或多个MIB参数值,它是前面三种操作中的响应操作。 Trap操作:这是管理代理主动向管理进程发出的报文,它标记出一个可能需要特殊注意的事件的发生,例如重新启动可能就会触发一个Trap陷阱。 团体(Community)也叫做共同体,利用SNMP团体可以将管理进程和管理代理分组,同一团体内的管理进程和管理代理才能互相通信,管理代理不接受团体之外的管理进程的请求。在Windows操作系统中,一般默认团体名为“public”,一个SNMP管理代理可以是多个团体的成员。 要对安装Windows操作系统的计算机进行SNMP网络管理,则在该计算机上必须安装SNMP服务,Windows系统的SNMP的功能如下: 工作在任何运行Windows、TCP/IP、IPX/SPX的计算机上; 用主机名和IP地址识别管理工作站(报告和接收); 处理来自SNMP管理系统的状态信息请求; 在发生陷阱的时候,将陷阱报告给一个或者多个管理工作站。 1.1 Windows提供的网络管理功能 为提供基于SNMP的Windows域服务器、Web服务器、数据库服务器以及电子邮件服务器的管理,Windows在推出TCP/IP-32 For Windows协议族时包含了一个SNMP服务软件,可以安装在Windows服务器或者工作站上,接收或者发送SNMP请求、响应或者通知。SNMP 在Windows中以系统服务组件的形式存在,可以使用“服务”管理工具来进行控制。 SNMP股务在Windows的默认安装时并不会自动安装,需要手动安装。以Windows XP 系统为例,SNMP服务的安装有以下几个步骤。 (1)右击“网上邻居”图标,在弹出的快捷菜单中选择“属性”选项,弹出“网络连接”窗; (2) 选择“高级”一“可选网络组件”命令,弹出“Windows可选的网络组件向导”对话框,如图3-2所示。在窗口中选中“管理和监视工具”复选框。 (3)单击对话框中的“详细信息”按钮,弹出“管理和监视工具”对话框,其中包含“WMI SNMP提供程序”和“简单网络管理协议”两个复选框,如图3-3所示。 (4)将WindowsXP安装盘插入光驱中,单击“管理和监视工具”对话框中的“确定”按钮,然后单击“Windows可选的网络组件向导”窗口中的“下一步”按钮,开始安装SNMP 服务。

实验四 路由器配置实验

实验四 路由器配置实验 一、实验目的 1. 认识路由器的端口、型号 2.掌握路由器的路由配置 3. 理解网络互联的基本原理 二、实验环境与设备 本实验在PC 机上利用模拟软件Packet Tracer V5.2进行操作。 三、实验内容 1. 路由器接口的配置 2. 静态路由配置 3. 默认路由配置(选做) 4. 动态路由配置(选做) 四、实验步骤 1. 认识路由器的接口 (1)Console 口:使用专用配置线缆(一头是RJ45水晶头,一头是串口)连接计算机的串口,利用终端仿真程序(如Windows 的超级终端)进行路由器配置。 (2)AUX 口:主要用于远程配置、拨号连接、与modem 连接等,是异步接口。 (3)LAN 接口:使用RJ45接口的双绞线的以太网接口 (4)WAN 接口:高速同步串口,主要用来与目前广泛应用的DDN、帧中继、X.25等广域网设备进行专线连接。 2. 认识模拟器Packet Tracer V5.2中路由器的接口 在Packet Tracer V5.2添加一个Generic 路由器,双击路由器图标,在弹出的窗口中选择Config 如图所示,认识路由器的端口。其中,端口FastEthernet 是以太网口,端口Serial 是串口,通过这种端口所连接的网络的两端要求配置时钟频率以实现实时同步。 LAN 口 口 Auxiliary 口 WAN 口(串口)

3. 路由器接口的配置 创建如图所示的拓扑结构图。 (1) 为主机PC0,PC1,PC2配置IP地址、子网掩码和默认网关。 网络设备 接口 IP地址 子网掩码 默认网关 PC0 FastEthernet 192.168.1.2 255.255.255.0 192.168.1.1 PC1 FastEthernet192.168.2.2 255.255.255.0192.168.2.1 PC2 FastEthernet192.168.3.2 255.255.255.0192.168.3.1

计算机网络实验四

2.4 实验四交换机的工作原理 科目:计算机网络专业:计算机技术与科学班级:2016级滨计2班 姓名:黄诚拓学号:201623201402004 日期:2018.12.6 实验目的 (1)理解交换机通过逆向自学习算法建立地址转发表的过程 (2)理解交换机转发数据帧的规则 (3)理解交换机的工作原理 实验步骤 在该任务中,我们需要分别观察PC0向PC2发送数据、PC1向PC0发送数据、删除Switch1的地址转发表后PC1向PC0发送数据的过程。观察每个数据包发送过程中,每台交换机在接收到数据前/后地址转发表的变化情况,目的是验证交换机通过逆向自学习建立地址转发表的过程;观察在现有地址转发表的情况下交换机如何处理数据包(转发?洪泛转发?丢弃?),目的是验证交换机转发数据的规则。 在此,仅给出PC0向PC2发送数据的详细操作步骤,另外两个数据发送过程的操作步骤以此作为参考。 在完成PC1向PC0发送数据的过程后,需要删除Switch1的MAC地址表后,重复PC1向PC0发送数据的过程,目的是观察在Switch2上,源端主机和目的端主机与同一端口相连时交换机对数据包的处理方式。删除Switch1上MAC地址表的操作方法如下:点击Switch1,在弹出窗口中选择CLI选项卡,将鼠标焦点置于其工作区内并按回车键,在其命令提示符下输入如下相应命令删除MAC地址表: Switch>enable //进入特权操作模式 Switch#clear mac-address-table //清空MAC地址表 (1)任务一:准备工作 ?步骤1:拓扑训练 ?步骤2:删除交换机MAC地址表

步骤1:查看并记录PC0和PC2的Mac地址

信息管理学基础》课程实验指导书

《信息管理学基础》课程实验指导书 课程编号:0500823 实用专业:信息管理与信息系统 学时数:54 学分:3 编写者:马费成宋恩梅 课内实验(一)网络信息交流的工具与模式(3个学时) 【实验目的】 1、巩固第2章“信息交流”理论学习的内容,加深对信息交流一般模式的认识; 2、了解网络环境下主要的信息交流方式、工具、原理; 3、能够结合网站实例,对相应的网络信息交流模式进行分析; 4、引发学生对于信息交流模式的演变、传统信息交流与网络信息交流比较等问题的进一步 学习和思考。 【实验内容】 本实验课程为课内实验,时间为3学时。首先简要回顾关于信息交流的基本理论知识,然后通过具体网站实例对一些主要的网络交流工具进行介绍,包括博客(Blog)、播客(Podcasting)、交友网站、超文本协同式写作系统(Wiki)、六度分离实验(six degrees of separation)等。在介绍过程中,学生可通过各人的学生机与老师的讲解对网站进行同步浏览和了解,期间也通过随堂提问和讨论的形式来加强互动沟通。最后,对本次实验课程的内容和效果进行小结。【实验步骤】 1、简要回顾先前理论课程的学习内容,介绍本次实验课程的目的 和内容。 2、网络信息交流模式和特点概述 3、网络信息交流工具的介绍 (1)博客(Blog) 博客的兴起、发展与应用 (2)播客(Podcasting) 播客的由来与发展 【提问与讨论】播客与博客作为交流方式的比较 (3)超文本协同式写作系统(Wiki) Wiki简介 相关条目浏览,如流氓软件 (4)交友网站 谷歌Orkut:

Myspace交友网站: 【提问与讨论】新型交友网站与先前的即时通讯工具(如QQ)的比较分析(如功 能、版面等) (5)六度分离实验(six degrees of separation) 六度分离与小世界理论介绍: 【讨论】六度分离理论在网络中的适用性和可验证性 4、实验小结 (1)网络信息交流的一些特征: 无论是在时间上还是空间上,交流的载体较之传统的交流载体有了很大的突破,方式上也更加多样化; 网络作为一种新型的媒体,其交互性的显着特点为人们之间的信息交流提供了更强的关联度,特别是在web2.0环境下,大 家的参与程度得到极大的加强; 一些相关的理论开始兴起并得到人们的关注,如六度分离、小世界、社会性软件SNS等; 信息交流中的“信息栈”理论在网络背景下需要重新考察,我们可以发现网络交流中的直接交流(零栈交流)与间接交流(有 栈交流)的界限逐渐模糊,相对于传统的信息中介(代理)而 言,网络中介的角色和定位也发生着改变。 (2)实验课中给大家介绍的只是众多网站中的一些代表,而对这些网站和工具的认识更多也都还停留在一种感性的层面上。希望大家课后能够进行延伸和拓展,搜集相关的网站进行了解和比较,如果能够在理论层面的高度进行一些思考则更好。 5、课后阅读与作业 (1)延伸阅读:【美】托马斯·弗里德曼着. 世界是平的(The World is Flat).湖南科学技术出版社,2006年9月(2)作业:传统信息交流与网络信息交流的比较分析(可从载体演变、工具更新、交流主体的角色变化、信息栈及网络中介等角度展开) 【实验准备知识】 1、网络信息交流的特点 优点:突破时空限制,存储量大,传输速度快,表现形式多样,使用便捷,成本低廉 缺点:信息质量,网络安全,检索难度,知识产权问题

相关文档
最新文档