谁能给出这个程式每1步的详细解释 ? 谢谢各位啊

来源:百度知道 编辑:UC知道 时间:2024/05/26 08:02:10
#include <string.h>
#include <winsock.h>
#include <windows.h>
#include <iostream.h>
#pragma comment (lib,"ws2_32.lib")
int main (int argc, char *argv[])
{
int iportFrom,iportTo;
int testsocket;
int iopenedport = 0;
struct sockaddr_in target_addr;
WSADATA wsaData;
WORD wVersi(1,1);
if (argc <= 3)
{
cout << "使用格式 : " << argv[0] << " 主机IP地址 开始端口号 结束端口号\n" << endl;
exit(1);
}
if (atoi (argv[2]) > atoi (argv[3]))
{
cout << "错误!开始端口号必须小于结束端口号" << endl;
exit(1);
}
else
{
if (WSAStartup (wVersionRequested , &wsaData) )
{
cout << "连接socket库失败,请检查版本号是否为1.1\n" << endl;
exit(1);
}
iportFrom=atoi (argv[2]);
iportTo=atoi (argv[3]);
for (int i=iportFrom; i <= iportTo; i++)

#include <string.h> //包含字符串处理头文件
#include <winsock.h> //包含socket都文件(用于网络编程的)
#include <windows.h> //包含widnows编程的标准库
#include <iostream.h> //包含用于数据输入输出的头文件
#pragma comment (lib,"ws2_32.lib") //在程序中把ws2_32.lib包含进来,其实你也可以在编译器中设置
int main (int argc, char *argv[]) //主函数包括两个参数,第一个参数用于表示输出的类型,第二个参数记录需要通的的数据,估计agrv

[0]就是类似windous下的ping命令,agrv[1]是IP,argv[2]和argv[3]是开始和技术端口号
{
int iportFrom,iportTo; //起始和结束端口
int testsocket; //测试socket
int iopenedport = 0; //被打开的端口
struct sockaddr_in target_addr; //目标通信地址
WSADATA wsaData; //定义在winsock中的一个数据结构记录网卡中的通信单元,具体参看msdn
WORD wVersi(1,1); //定义一个端口扫描
if (argc <= 3) //当执行参数argc不大于3时
{
cout << "使用格式 : " << argv[0] << " 主机IP地址 开始端口号 结束端口号\n" << endl; //输出使用格式
exit(1); //退出
}
if (atoi (argv[2]) > atoi (argv[3])) //当开始开始端口号大于结束端口号时输出错误信息
{
cout << "