- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2
重对实验思路的归纳和对问题解决过程的总结。 五、 考核方式
4. 平时成绩+验收答辩+实验报告; 5. 五级分制。
学生姓名:艾壮 指导教师:李丽芬 刘晓峰 曹锦纲
2014 年 6 月 14 日
二、综合实验正文 端口扫描程序的程序代码
#include <winsock2.h> #include <windef.h> #include <iostream> #include <vector> #pragma comment(lib,"ws2_32.lib")
序号
设计内容
完成时间
备注
1
任务布置及资料收集
第 1 周周一、周二
2
软件方案设计与制定
第 1 周周三至周四
3
编程实现
第 1 周周周五至第 2 周周二
4
程序测试与修改,撰写报告
第 2 周周三至周五上午
5
报告提交,软件验收
周五下午
4 设计成果要求
4.1 完成规定的实验任务,保质保量; 4.2 完成综合实验报告,要求格式规范,内容具体而翔实,应体现自身所做的工作,注
7
.link2 a hover {
text-decoration:underline; } </style> </head> <body> <form id="form1" runat="server"> <div class="style1">
<span
2. 目的:加深对课堂讲授知识的理解,熟练掌握基本的网络编程技术和方法,建立网 络编程整体概念,使得学生初步具有研究、设计、编制和调试网络程序的能力。
3. 要求:熟悉有关定义、概念和实现算法,设计出程序流程框图和数据结构,编写出 完整的源程序,基本功能完善,方便易用,操作无误。
4. 学生要求人数:1 人。
AutoEventWireup="true"
CodeBehind="WebForm1.aspx.cs"
6
Inherits="WeatherProgram.WebForm1" %>
<!DOCTYPE
html
PUBLIC
"-//W3C//DTD
XHTML
1.0
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Transitional//EN"
<html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server">
<title></title> <style type="text/css">
.style1 {
margin-left:340px;margin-top:140px; font-size: xx-large; } body { background-image:url(image/2.jpg); background-repeat:no-repeat; } #form1 { height: 773px; width: 1176px; } .link1 { margin-left:200px; } .link2 { margin-left:130px; } .link3 { margin-left:130px; } .link4 { margin-left:130px; } .link5 { margin-left:130px; }
using namespace std;
typedef unsigned int uint; vector<uint> v;
int main() { WORD wsVersion = MAKEWORD(2,0); //socket 的版本 WSADATA wsaData; //这个结构被用来存储被 WSAStartup 函数调用后返回的 Windows Sockets 数据。它包含 Winsock.dll 执行的数据。 struct sockaddr_in sin; //sockaddr_in 结构,表示 socket address and internet style uint BeginPort; //开始端口 uint EndPort; //结束端口
int OpenPort; OpenPort = 0;
//开放端口个数
cout<<"Please input the HostName:"; cin>>HostName; cout<<"Input the Begin Port:"; cin>>BeginPort; cout<<"Input the End port:"; cin>>EndPort;
三、 进度计划
序号
设计内容
完成时间
备注
1
任务布置及Hale Waihona Puke Baidu料收集
第 1 周周一、周二
2
软件方案设计与制定
第 1 周周三至周四
3
编程实现
第 1 周周周五至第 2 周周二
4
程序测试与修改,撰写报告
第 2 周周三至周五上午
5
报告提交,软件验收
周五下午
四、设计成果要求
1. 完成规定的实验任务,保质保量; 2. 完成综合实验报告,要求格式规范,内容具体而翔实,应体现自身所做的工作,注 重对实验思路的归纳和对问题解决过程的总结。
4
cin>>HostName; cout<<"Input the Begin Port:"; cin>>BeginPort; cout<<"Input the End port:"; cin>>EndPort; }
if(WSAStartup(wsVersion,&wsaData)) { cout<<"Initial Failed!"<<endl; return -1; } cout<<endl<<"Now Scan "<<HostName<<"'s Specified Ports Status."<<endl<<endl;
if(connect(s,(struct sockaddr*)&sin,sizeof(sin)) == SOCKET_ERROR) {
cout<<"Port: "<<CurrentPort<<", Status: Not open."<<endl;
5
closesocket(s);//连接失败 } else {
cout<<"Port: "<<CurrentPort<<", Status: Opened."<<endl; OpenPort ++; v.push_back(CurrentPort);//用于数值的自动增加 vector(uint) v closesocket(s); } }
cout<<endl<<"Resaults: Host "<<HostName<<" has opened "<<OpenPort<<" port.Opened port as follow:"<<endl;
3
uint CurrentPort; uint i=0;
//正在扫描的端口
char HostName[256]; //要扫描的主机
SOCKET s;
//保存创建 socket 时的返回值 /////////////////////////
////////////////////创建一个套接口。 #include <winsock.h> SOCKET PASCAL FAR
综合实验报告
( 2013 -- 2014 年度第二学期)
名 称:
网络综合实验
题 目: 端口扫描程序和天气查询
院 系:
计算机系
班 级:
学 号:
学生姓名:
指导教师: 李丽芬 刘晓峰 曹锦纲
设计周数:
2周
成 绩:
日期: 2014 年 6 月 14 日
一、 目的与要求
1. 任务:设计并实现一个端口扫描程序,检测某个 IP 或某段 IP 的计算机的端口工作 情况。
//给结构成员赋值 sin.sin_family = AF_INET;//可能是硬件地址。。 sin.sin_port = htons(CurrentPort); //当前扫描的端口号 sin.sin_addr.S_un.S_addr = inet_addr(HostName); //输入 ip 地址用的 //建立连结
cout<<"============================================================= ======="<<endl;
closesocket(s); WSACleanup();
return 0;
}
天气查询
前台界面代码: <%@ Page Language="C#"
socket( int af, int type, int protocol);
//af:一个地址描述。目前仅支持 AF_INET 格式,也就是说 ARPA Internet 地址格
式 type:新套接口的类型描述。
//protocol:套接口所用的协议。如调用者不想指定,可用 0。
///////该函数如果调用成功就返回新创建的套接字的描述符
cout<<"============================================================= ======="<<endl;
for(i=0;i<v.size();++i) { cout<<v.at(i)<<" "; if((i+1)%10==0)cout<<endl; } cout<<endl;
//循环判断范围内的端口,以判断端口是否开放 ,并记录结果 for(CurrentPort=BeginPort; CurrentPort<=EndPort;++CurrentPort) {
s = socket(AF_INET,SOCK_STREAM,0); //s 用来记录 socket 的返回值。 if(s == INVALID_SOCKET) { cout<<"Establish Socket Failed."<<endl; WSACleanup(); }
编写一个网站,可供用户查询全国主要城市实时的天气情况,实时信息可包括:天气、 发布时间、气温、风向、风速、湿度、能见度、日出时间、日落时间以及未来 24 小时的天 气预报。基本工作过程如下:
(1) 了解 Web Service 技术的原理和使用方法; (2) 寻找提供实时天气信息的 Web 服务; (3) 利用 Web Service 完成查询网页与信息提供网站的链接; (4) 测试网页。 3 进度计划
//对用户输入的端口进行判断 while((BeginPort > EndPort || BeginPort < 0 || BeginPort >65535 || EndPort <0 || EndPort >65535)) {
cout<<"You have input some wrong paramters.Try again."<<endl; cout<<"Please input the HostName:";
二、 主要内容
1. 编写一个端口扫描程序,能够显示某个 IP 或某段 IP 的计算机的某一个或某些端口 是否正在工作。基本工作过程如下:
(1) 设定好一定的端口扫描范围; (2) 设定每个端口扫描的次数,因为有可能有的端口一次扫描可能不通; (3) 创建 socket,通过 socket 的 connect 方法来连接远程 IP 地址以及对应的端口; (4) 如果返回 false,表示端口没有开放,否则端口开放。
五、 考核方式
1. 平时成绩+验收答辩+实验报告; 2. 五级分制。 3.
1
学生姓名:艾壮
指导教师:李丽芬 刘晓峰 曹锦纲
2014 年 6 月 14 日
(2)天气查询 1 目的与要求 1.1 任务:利用 Web Service 技术实现天气预报查询。 1.2 目的:学习在网络应用程序中创建和使用 Web 服务。Web Service 由于其跨平台的优 越性,被越来越多的网站所重用。了解其实现原理及使用方法,有利于了解未来的网络 开发技术。 1.3 要求:利用 Web Service 技术,实现一个查询实时天气预报的网站,要求界面美观, 方便易用;通过课程设计学生应该具备初步分析、设计和开发网络应用软件的能力,具 备分析与检查软件错误、解决和处理实验结果的能力。 1.4 学生要求人数:1 人。 2 主要内容