麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > PowerShell > 正文

PowerShell腳本開發之對指定IP進行端口掃描

2020-03-26 19:14:27
字體:
來源:轉載
供稿:網友

前些天看到一篇關于Metasploit與PowerShell的文章,里面提到了一句關于端口掃描的語句,寫的很簡練,思路很不錯,可以拋開笨重的Nmap直接掃描指定的指定IP的端口:

 

復制代碼 代碼如下:

1..1024 | %{ echo ((new-object Net.Sockets.TcpClient).Connect("192.168.10.26",$_)) "$_ is open"} 2>$null

 

      語句中直接通過..列舉了1到1024之間的數字,通過管道次傳遞給后面的操作符,使用New-Object創建System.Net.Sockets.TCPClient對象,調用該對象的Connect()方法連接指定IP的指定端口,而端口則是由管道傳入的入組對象,也就是前面提到的1~1024及其之間的的數字,是由$_這個自動變量來代替,代表管道傳入的當前的對象。對于開放TCP端口是會有相應的程序監聽該端口的,等待程序連接,如果連接了一個未曾起監聽的端口,TCPClient對象是會拋出以下的異常

 

復制代碼 代碼如下:

“Exception calling "Connect" with "2" argument(s): "由于目標機器積極拒絕,無法連接。 192.168.10.26:1"”

 

     對于拋出的異常通過2>$null的方式將錯誤信息重定向到$null的空設備,而不再當前屏幕輸出,于此同時如果在對指定端口進行連接的過程中未曾拋出異常說明TCPClient對象可以正常連接到端口,則打印出該端口并提示該端口是打開的。

     通過PowerShell對.net對象的調用我們可以做很多的事情,基本上用WinForm和asp.net能做的事情大多可以通過PowerShell進行操作,與此同時我有了一個想法,通過PowerShell是否可以寫出一些常用的用于安全和滲透測試的工作腳本,這些腳本可以組合成一個工具集,這不就能在手邊沒有相關滲透工具的情況下用 輕量級的腳本環境+編程 實現安全相關的功能檢測呢?

    上面的腳本寫的很簡練了,但是有一個缺點,就是調用的TCPClient對象超時時間比較長,不管端口是否開發,都需要等到連接超時后才會掃描下一個端口,掃描一個區間的端口會耗費很多的時間,鑒于此我打算改造上面的腳本,為了便于函數的共享和重用,創建一個名為PSNet的工具集:

Step 1:創建PowerShell的工作文件夾(D:/My Documents/WindowsPowerShell/Modules)并創建系統環境變量指向該目錄,便于后續調用,如PSSpace
Step 2.在上述步驟中提到的PSSpace路徑中創建與目標module同名的目錄用于存放腳本,即在%PSSpace%下創建PSNet
Step 3.在PSNet目錄下創建與module同名的.psm1文件PSNet.psm1
Step 4.在PSNet目錄下創建相關細分的子函數目錄,便于不同類型操作進行分類,如創建TCPOp,用于創建TCP相關操作,并把Test-TCPPort.ps1放入其中
Step 5.打開PSNet.psm1加入行:.$PSSpace/TCPOp/Test-TCPPort.ps1 以后如果要創建任何相關函數文件都可以添加一條記錄到此文件,以便module初始化的時候可以初始化相關的函數,如果相關函數相互之間存在依賴關系,被依賴的文件初始化語句需要放在有依賴關系的文件語句之前
Step 6. 在Test-TCPPort.ps1語句的最后面添加Export-ModuleMember -Function * 語句用于將該文件中的函數都作為Module的成員發布。

     至此工具集的結構創建成功,目錄樹如下所示:

 

復制代碼 代碼如下:

+D:/MY DOCUMENTS/WINDOWSPOWERSHELL/MODULES
└─PSNet
    │  PSNet.psm1
    │ 
    └─TCPOp
            Test-TCPPort.ps1
     如果我們要在PSNet下創建關于UDP相關的操作可以與TCPOp同級創建UDPOp子模塊目錄,依次類推,與網絡相關的操作子模塊均放在PSNet下,再預先創建一個PSSecurity模塊用于后續創建于安全相關的模塊。目錄結構如下:
D:/MY DOCUMENTS/WINDOWSPOWERSHELL/MODULES
├─PSNet
│  │  PSNet.psm1
│  │ 
│  ├─TCPOp
│  │      Test-TCPPort.ps1
│  │     
│  └─UDPOp
└─PSSecurity

 

    對于Test-TCPPort.ps1子模塊,寫入以下代碼用于實現對TCP端口是否監聽進行測試:

 

復制代碼 代碼如下:

Function Test-TCPPort
{
 param ( [ValidateNotNullOrEmpty()]
 [string] $EndPoint = $(throw "Please specify an EndPoint (Host or IP Address)"),
 [string] $Port = $(throw "Please specify a Port") )

 

 try
 {
  $TimeOut = 1000 #定義TCP端口超時時間
  if ( $IP = [System.Net.Dns]::GetHostAddresses($EndPoint) )
  {
   $Address = [System.Net.IPAddress]::Parse($IP)
   $Socket = New-Object System.Net.Sockets.TCPClient
   $Connect = $Socket.BeginConnect($Address,$Port,$null,$null)
   if ( $Connect.IsCompleted )
   {
    $Wait = $Connect.AsyncWaitHandle.WaitOne($TimeOut,$false)
    if(!$Wait)
    {
     $Socket.Close()
     return $false
    }
    else
    {
     $Socket.EndConnect($Connect)
     $Socket.Close()
     return $true
    }
   }
   else
   {
    return $false
   }
  }
  else
  {
   return $false
  }
 }
 catch{}
}

 

Export-ModuleMember -Function *  #用于將函數導出為模塊成員

對于此模塊可以通過PowerShell命令行使用以下語句 :

 

復制代碼 代碼如下:

Import-Module $env:PSSpace/PSNet
Test-TCPPort 192.168.10.26 80

 

    進行調用,或者通過命令行或者批處理啟動時指定

 

復制代碼 代碼如下:

start %windir%/System32/WindowsPowerShell/v1.0/powershell.exe -noExit -Command "Import-Module ‘%PSSpace%/PSNet' "

 

     對于本文最初的那個例子,在有了導入這個模塊后執行:

 

復制代碼 代碼如下:

1..1024 | %{$A=(Test-tcpport 192.168.10.26 $_)

 

if($a) {
echo $_
}
}

 

在本文通過一段小腳本的方式引入了通過PowerShell實現簡單安全滲透功能的想法,首先介紹了該小腳本是如何實現功能的,接下來對創建腳本工具集并導入的方法,隨后又在該工具集中創建了Test-TCPPort函數,并介紹了調用方法,在后續的文章中將會陸續介紹相關腳本的開發,盡請期待。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产一级在线看 | 国产亚洲精品久久久久久久软件 | 中文字幕在线观看日韩 | 中文字幕免费一区 | 成人精品aaaa网站 | chinese军人gay呻吟 | 久久国产精品久久久久 | 精品国产一区二区在线观看 | 欧美激情首页 | 久久精品久久精品久久精品 | av成人在线免费观看 | 激情网站在线观看 | 2019中文字幕在线播放 | 久久国产亚洲精品 | 国产无区一区二区三麻豆 | 日日草夜夜 | 大号bbwassbigav头交 | 欧美成人高清视频 | 久久久www视频 | 免费日韩片 | 欧美精品一区自拍a毛片在线视频 | 欧美大电影免费观看 | 欧美黄色一级生活片 | 欧美一级黄色网 | 韩国精品久久久 | 成人在线视频一区 | 免费a网 | 亚洲第一色婷婷 | 成人午夜精品久久久久久久3d | 国产老师做www爽爽爽视频 | 国产精品久久久久久久久久久久久久久 | 国产亚洲欧美在线视频 | 看毛片免费 | 日本黄色免费播放 | 黄色aaa视频 | cosplay裸体福利写真 | 男男羞羞视频网站国产 | 成人情欲视频在线看免费 | 蜜桃网在线 | 欧美精品一区自拍a毛片在线视频 | 国产中文99视频在线观看 |