#include <iostream>
#include <fstream>
#include <cstdlib>
#include <string.h>
#include <winsock.h>
#include <windows.h>
#include <stdio.h>
#include <malloc.h>
using namespace std;
#pragma comment (lib,"ws2_32.lib")
typedef struct
{
char ip[20];
int port;
}infor;
int nowport;
int startPort=1;
int endPort=200;
int threadnum = 0; //线程计数
DWORD WINAPI pScan(LPVOID lp);
void scanip (int ip1, int ip2, int ip3, int ip4);//端口扫描函数
ofstream SaveFile ("result.txt"); //设置输出文件
int main ()
{
char startip[20]="172.28.101.2"; //起始IP
char endip[20]="172.28.101.251"; //中止IP
//cout << "请输入起始IP:" << endl;
//cin >> startip;
//cout << "请输入中止IP:" << endl;
//cin >> endip;
//cout << "请输入起始端口:" << endl;
//cin >> startPort;
//cout << "请输入中止端口:" << endl;
//cin >> endPort;
//
//将ip转化为4段整数
int ip1, ip1end, ip2, ip2end, ip3, ip3end, ip4, ip4end;
//将startip转化为4段整数
ip1 = atoi (strtok (startip, "."));//分解字符串为一组字符串
ip2 = atoi (strtok (NULL, "."));//在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回指向被分割出片段的指针。
ip3 = atoi (strtok (NULL, "."));
ip4 = atoi (strtok (NULL, "."));
//将endip转化为4段整数
ip1end = atoi (strtok (endip, "."));// atoi 功 能: 把字符串转换成整型数
ip2end = atoi (strtok (NULL, "."));
ip3end = atoi (strtok (NULL, "."));
ip4end = atoi (strtok (NULL, "."));
//从startip到endip开始扫描