网络安全应用实现

 最常用的网络命令的实现;

 举例说明网络攻击是怎么实现的;

 防火墙的简单实现;

 OpenSSL的利用。

信息安全原理与应用 赵树升 2012

6.1 常用网络命令的实现

 常用的网络命令有IpConfig(取IP地址)、Ping(验证远程计

算机的连接状况)、Tracert(路由跟踪)、Netstat(显示协议

统计和当前的TCP/IP 网络连接)、NET命令(管理网络环

境、服务、用户、登录等本地信息)、Telne实现远程登录

、Arp 显示和修改“地址解析协议” 。Ftp将文件传送到正在

运行Ftp 服务的远程计算机或从正在运行Ftp 服务的远程

计算机下载文件。Tftp将文件传输到正在运行Tftp 服务的

远程计算机或从正在运行Tftp服务的远程计算机接收文件

。还有很多其它命令。

信息安全原理与应用 赵树升 2012

1、实现Ping

Ping利用ICMP协议,向目的计算机发送自我构

造的ICMP数据报实现。ICMP是“Internet

Control Message Protocol” (Internet控制消息

协议)的缩写。它是TCP/IP协议族的一个子

协议,用于在IP主机、路由器之间传递控制消

息。控制消息是指网络通不通、主机是否可达

、路由是否可用等网络本身的消息。这些控制

消息虽然并不传输用户数据,但是对于用户数

据的传递起着重要的作用。

信息安全原理与应用 赵树升 2012

2、取本机IP地址

 获取本机IP地址可以使用套接字函数实现。

 #include "winsock2.h"
 #pragma comment (lib , "ws2_32.lib") //必须
 void CGetMyIPDlg::OnGetIP()
 {
 WORD wVersionRequested;
 WSADATA wsaData;
 char name[255];//定义用于存放获得的主机名的变量
 PHOSTENT hostinfo;
 wVersionRequested = MAKEWORD( 2, 0 );
 //调用ws2_32.dll
 WSAStartup( wVersionRequested, &wsaData );
 //获取本地机器的名字到name
信息安全原理与应用 赵树升 2012
 gethostname ( name, sizeof(name));

3、路由跟踪实现

路由跟踪的作用是测试数据报到达目的机器经过

的路由器。利用ICMP协议,向目的计算机发

送多个自我构造的ICMP数据报,而且每个数

据报含有不同TTL (Time To Live )值,然后

分析返回的数据报而实现的。

信息安全原理与应用 赵树升 2012

4、模拟NET命令建立用户

Net*系列的API 函数可以实现NET的功能,这里仅举例

建立用户。主要代码如下,结果如图6-1,6-2所示。

void CGetUsersDlg::OnCreateUser()
{
wchar_t user[100]; //要使用宽字符格式
wchar_t passcode[100];
memset(user,0,200);
memset(user,0,200);
int len1=m_user.GetLength();
int len2=m_password.GetLength();

信息安全原理与应用 赵树升 2012

6.2 从一个漏洞看网络攻击过程

UNICODE漏洞该漏洞于2000年10月17 日被公布,目前有该

漏洞的机器比较少。在当时很多的攻击都是利用了该漏洞

。UNICODE是一种国际标准编码,采用两个字节编码。

例如字符‘a’,若用ANSI格式,为数据0x61