1. 程式人生 > >通過socket對系統埠進行掃描

通過socket對系統埠進行掃描

  1. 設計圖
    這裡寫圖片描述

  2. 實現

// PortScan.cpp : 定義控制檯應用程式的入口點。
//
 //#include <stdafx.h>
 #include <stdio.h>
 #include <Winsock2.h>
 #pragma comment(lib,"Ws2_32.lib")

 //目標地址
#define IP "172.16.180.38"
 //執行緒個數
#define THREADCOUNT 60
 DWORD WINAPI ThreadProc(  LPVOID lpParameter);
 //埠號
int PortNum=0;
 //臨界區變數
CRITICAL_SECTION cs;
 //執行緒函式
DWORD WINAPI ThreadProc( LPVOID lpParameter) { //建立套接字 SOCKET TryConnect; while (1) { if (PortNum>65535) { break; } //進入臨界區 EnterCriticalSection(&cs); //領取任務 int tmpport=PortNum; PortNum++; //離開臨界區
LeaveCriticalSection(&cs); TryConnect=socket(AF_INET,SOCK_STREAM,0); if (INVALID_SOCKET==TryConnect) { printf("socket"); } //嘗試連線 sockaddr_in addrMe={0}; addrMe.sin_family=AF_INET; DWORD threadID=GetCurrentThreadId(); //printf("執行緒%d正在檢測埠%d\n",threadID,PortNum);
addrMe.sin_port=htons(tmpport); addrMe.sin_addr.S_un.S_addr=inet_addr(IP); int retCon=connect(TryConnect,(sockaddr*)&addrMe,sizeof(sockaddr_in)); if (SOCKET_ERROR!=retCon) { printf("----------------檢測到目標主機開放%d埠\n",tmpport); } } return 0; } int main(int argc, char* argv[]) { //初始化套接字 WSADATA ws; ::WSAStartup(MAKEWORD(2,0),&ws); //初始化臨界區 InitializeCriticalSection(&cs); //多執行緒掃描 HANDLE hThread[THREADCOUNT]; for (int i=0;i<THREADCOUNT;i++) { hThread[i]=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)ThreadProc,(LPVOID)0,0,NULL); } WaitForMultipleObjects(THREADCOUNT,hThread,true,INFINITE); //刪除臨界區 DeleteCriticalSection(&cs); system("pause"); return 0; }

相關推薦

通過socket系統進行掃描

設計圖 實現 // PortScan.cpp : 定義控制檯應用程式的入口點。 // //#include <stdafx.h> #include <stdio.h

jmeter通過jmeter-plugins、jconsole系統資源進行監控

Jmeter監控系統資源 Jmeter監聽器選項不能滿足我們對系統資源一些效能引數進行監控,我們可以通過jmeter的控制元件去對記憶體、CPU、磁碟I/O等效能進行監控; Jmeter-plugin

Matlab之Kalman:用線性系統狀態方程,通過系統輸入輸出觀測資料,系統狀態進行最優估計的演算法

       卡爾曼濾波(Kalman filtering)一種利用線性系統狀態方程,通過系統輸入輸出觀測資料,對系統狀態進行最優估計的演算法。由於觀測資料中包括系統中的噪聲和干擾的影響,所以最優估計也

前面學習通過方法代碼進行改進,為什麽要給方法使用靜態呢?

-- 改進 spa 我們 靜態 .com 是什麽 文件夾 png 前面學習通過方法對代碼進行改進,為什麽要給方法使用靜態呢?   答:因為main方法是靜態的,而靜態方法只能訪問靜態的成員變量和靜態的成員方法。   所以之前我們的方法是使用靜態來修飾的,即靜態的方法。 如

使用LVM系統進行擴容

    不知道大家有沒有碰到在安裝CentOS時個,對系統每個掛載點分配多大容量比較合適的問題?如果掛載點容量分配大小,在某天不夠用的時候怎麼辦;分配太大又存在浪費的情況。特別是在遇到系統盤特別小的時候,這個問題會更加突出。這時候大家可能會說,那有沒有辦法可以隨時增加或減少掛載點容量的辦法,這樣不就可以做到對

Apache執行django服務,並定期系統檔案進行更新

需求是將客戶端系統部署在Apache執行,定期從中心伺服器更新最新的系統檔案到本地,相當於對客戶端進行升級。 目前的狀態是在Apache啟動後,不會直接去執行django服務,而是Apache處於監聽狀態,等前端發起請求了,才會通過配置檔案中指向的wsgi網管協

綠盟上線專案進行掃描,目標URL存在http host的頭攻擊漏洞,解決方案和驗證

近期在使用綠盟對線上專案進行安全掃描時,發現系統存在host頭攻擊漏洞。在此記錄解決的過程以便後期回顧上述問題出現的原因為在專案中使用了 request.getServerName 導致漏洞的出現 不要使用request中的serverName,也就是說host header

MSSQL資料庫提示:不支援系統目錄進行即席更新

不支援對系統目錄進行即席更新--如果"allow updates"選項被設定為"1",那麼你在使用語句: EXEC sp_configure 'show advanced options', 1 ;GORECONFIGURE ;  --沒有加上WITH OVERRIDE,就會出現提示的錯誤GO --所以,

滲透學習筆記1【metasploit通過exe他人電腦進行操控】

                        注:此內容不得用

如何通過jsp錶格進行操作

對錶格進行操作的難點有以下幾個方面: 1.表格是資料庫查詢的,所以表格的行數不確定,而表格每一行都有一個"button"按鈕,怎麼樣讓他實現對當前行的資料進行操作呢? 圖示(表格很醜): 解決如下:  <input type="button" name="Delet

SQL2000系統表、儲存過程、函式的功能介紹及應用2009年01月21日 星期三 11:38雖然使用系統儲存過程、系統函式與資訊架構檢視已經可以為我們提供了相當豐富的元資料資訊,但是對於某些特殊的元資料資訊,我們仍然需要直接對系統進行查詢。因為SQL

雖然使用系統儲存過程、系統函式與資訊架構檢視已經可以為我們提供了相當豐富的元資料資訊,但是對於某些特殊的元資料資訊,我們仍然需要直接對系統表進行查詢。因為SQL Server 將所有資料庫物件的資訊均存放在系統表中,作為 SQL Server 的管理、開發人員,瞭解各個系統表的作用將有助於我們瞭解 SQL

在MES中如何通過Socket與車間裝置進行網路通訊

        之前在部落格中有寫過關於Socket的幾篇文章,所以今天就藉此機會簡單介紹一下之前的一些專案經驗,即如何通過基於TCP協議的Socket網路程式設計實現與車間裝置進行網路通訊。隨著大家對工業4.0的憧憬,現在越來越多的製造型企業開始使用MES系統,MES系統除

Python學習-掃描-本地host127.0.0.1的主機進行掃描

#!/usr/local/bin/python #-*- coding: UTF-8 -*- #埠掃描器 import socket import thread import time socket.setdefaulttimeout(3)  #設定了全域性預設超時時間 d

安卓端通過httpMysql進行增刪改查

name 交流 shm != 用戶 習慣 cti -perm 得到 各類it學習視頻,大家都可以看看哦!我自己本人都是通過這些來學習it只知識的! 下面是視頻鏈接轉自:http://www.cnblogs.com/wangying222/p/5492935.html ht

蜜罐技術——通過布置一些作為誘餌的主機、網絡服務或者信息,誘使攻擊方它們實施攻擊,從而可以攻擊行為進行捕獲和分析

技術 使用 alt name 防火墻 text 來源 情報 優點 蜜罐技術本質上是一種對攻擊方進行欺騙的技術,通過布置一些作為誘餌的主機、網絡服務或者信息,誘使攻擊方對它們實施攻擊,從而可以對攻擊行為進行捕獲和分析,了解攻擊方所使用的工具與方法,推測攻擊意圖和動機,能夠讓防

Android4.2.2 動態顯示隱藏屏幕底部的導航欄(系統源碼進行修改)

留下 public side equals android4 init bold 方法 equal 需求如題。在Android4.2.2中,導航欄(也就是屏幕底部的三個按鈕,home,back,recentapp)是系統應用SystemUi.apk的一部分,簡言之,我們的需

高可用高性能分布式文件系統FastDFS進階keepalived+nginx多tracker進行

type module chmod def expire 空間 根據 權限 原理 在上一篇 分布式文件系統FastDFS如何做到高可用 中已經介紹了FastDFS的原理和怎麽搭建一個簡單的高可用的分布式文件系統及怎麽訪問。  高可用是實現了,但由於我們只設置了一個group

js通過cookie兩個沒有關系的jsp頁面進行傳值

IT eva 有關 time bsp 關系 cape document 兩個   //Cookie取值   function readCookie (name)   {     var cookieValue = "";     v

使用Socket序列化數據進行傳輸(基於C#)

ddr 傳輸 void receive sockets read 客戶端代碼 ets BE 客戶端代碼 [Serializable] // 表示該類可以被序列化 class Person{ public string name; public void HI(

通過JmeterDubbo接口進行接口及性能測試

抽象 進行 jet 自動發現 nta 客戶端 連接 reg spa dubbo接口/性能測試 dubbo簡介 zookeeper簡介、安裝及配置 dubbo服務端demo dubbo客戶端調用 jmeter工程改造及接口調用 讀取jmeter參數用於dubbo性能測試