亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

c++ 端口掃描程序實現案例

發布時間:2020-10-08 08:16:07 來源:腳本之家 閱讀:227 作者:jingxian 欄目:編程語言

第一、原理

端口掃描的原理很簡單,就是建立socket通信,切換不通端口,通過connect函數,如果成功則代表端口開發者,否則端口關閉。

所有需要多socket程序熟悉,本內容是在window環境下的

第二、單線程實現方式

// PortScanf.cpp : 定義控制臺應用程序的入口點。
//
#define WIN32_LEAN_AND_MEAN
#include "stdafx.h"
#include <WinSock2.h>
#pragma comment(lib, "Ws2_32")
int scant(char *Ip, int StartPort, int EndPort)
{ 
  WSADATA wsa;
  SOCKET s;
  struct sockaddr_in server;
 
  int CurrPort;  //當前端口
  int ret;
 
  WSAStartup(MAKEWORD(2, 2), &wsa);  //使用winsock函數之前,必須用WSAStartup函數來裝入并初始化動態連接庫
 
  server.sin_family = AF_INET;  //指定地址格式,在winsock中只能使用AF_INET
  server.sin_addr.s_addr = inet_addr(Ip); //指定被掃描的IP地址
 
  for (CurrPort = StartPort; CurrPort <= EndPort; CurrPort++)
  {
    s = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);
    server.sin_port = htons(CurrPort); //指定被掃描IP地址的端口號
    ret = connect(s, (struct sockaddr *)&server, sizeof(server)); //連接
 
    if (0 == ret) //判斷連接是否成功
    {
      printf("%s:%d Success O(∩_∩)O~~\n", Ip, CurrPort);
      closesocket(s);
    }
    else {
      printf("%s:%d Failed\n", Ip, CurrPort);
    }
  } 
  printf("Cost time:%f second\n", CostTime); //輸出掃描過程中耗費的時間
  WSACleanup();  //釋放動態連接庫并釋放被創建的套接字
  return 1;
}
 
int main()
{
  scant("127.0.0.1", 75, 100);
   
  return 0;
}

c++ 端口掃描程序實現案例

第三、多線程實現方式

由于單線程執行速度有些慢,我們加入多線程運行,

typedef struct _tagValue
{
  int start;
  int end;
}PortNums;
 
void _cdecl beginThreadFunc1(LPVOID lpParam) {
  PortNums *pnInt = (PortNums*)lpParam;
  scan("127.0.0.1", pnInt->start, pnInt->end);
}
 
int a()
{
  PortNums m1;
  m1.start = 70;
  m1.end = 500;
 
  PortNums m2;
  m2.start = 501;
  m2.end = 1000;
 
  _beginthread(beginThreadFunc1, 0, &m1);
  _beginthread(beginThreadFunc1, 0, &m2);
 
 
  getchar();
  return 0;
}

注意需要#include<process.h>

c++ 端口掃描程序實現案例

以上這篇c++ 端口掃描程序實現案例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扶沟县| 海盐县| 邢台市| 沂源县| 宣化县| 鄄城县| 娄烦县| 安化县| 南宫市| 遂昌县| 义马市| 宁强县| 辽宁省| 沾化县| 梧州市| 寻甸| 上高县| 遂宁市| 东台市| 临湘市| 高台县| 阜平县| 奉节县| 荔波县| 原阳县| 嘉禾县| 大埔县| 醴陵市| 奈曼旗| 贵州省| 临澧县| 泰宁县| 璧山县| 沾化县| 玛沁县| 玉溪市| 林西县| 武夷山市| 铜川市| 二连浩特市| 江安县|