แก้ไขแล้ว: PowerShell ดูพอร์ตที่ใช้งานอยู่

การปรับปรุงครั้งล่าสุด: 09/11/2023
ผู้แต่ง: JavaScript Sourcetrail

แน่นอน มาเริ่มกันเลย

Powershell ซึ่งเป็นระบบงานอัตโนมัติที่มีประสิทธิภาพและเฟรมเวิร์กการจัดการการกำหนดค่าจาก Microsoft ช่วยให้ผู้ดูแลระบบทำงานได้ง่ายขึ้นอย่างมาก ด้วยการถือกำเนิดของภาษาสคริปต์ Powershell พร้อมด้วย cmdlets ผู้ใช้จะสามารถเข้าถึงที่เก็บข้อมูลได้อย่างหลากหลาย การใช้ PowerShell ประการหนึ่งคือการตรวจสอบพอร์ตที่ใช้งานบนระบบ พอร์ตเป็นจุดสิ้นสุดการสื่อสารสำหรับเครื่อง และแต่ละพอร์ตจะมีหมายเลขพอร์ตที่ระบุ

# PowerShell Script to list all the TCP/IP ports which are being used on your local system

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser 

Function Test-PortInUse {   
  Param(
    [Parameter(Mandatory = $true)]
    [int]$StartPort,
    [Parameter(Mandatory = $true)]
    [int]$EndPort
  )
  ForEach ($i in ($StartPort..$EndPort)){
    $connection = Test-NetConnection -ComputerName LocalHost -Port $i
    if ($connection.TcpTestSucceeded){
       $i
    }
  }
}

# This will test all ports between 20 and 25
Test-PortInUse 20 25

สคริปต์ทำงานภายในฟังก์ชัน Test-PortInUse ซึ่งยอมรับพารามิเตอร์สองตัว คือ หมายเลขพอร์ตเริ่มต้น และหมายเลขพอร์ตสิ้นสุด ฟังก์ชันจะวนซ้ำ ($StartPort..$EndPort) ระหว่างช่วงพอร์ตที่ระบุ สำหรับแต่ละหมายเลขพอร์ต จากนั้นจะเรียกใช้ Test-NetConnection cmdlet บนโลคัลโฮสต์สำหรับพอร์ตนั้น

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser – คำสั่งนี้จำเป็นในการรันสคริปต์ PowerShell และจะเปลี่ยนการตั้งค่าผู้ใช้สำหรับนโยบายการดำเนินการ PowerShell

Test-NetConnection cmdlet จะแสดงข้อมูลการวินิจฉัยสำหรับการเชื่อมต่อ ใช้เป็นพารามิเตอร์ LocalHost ซึ่งหมายถึงเครื่องท้องถิ่นและพอร์ต ซึ่งระบุพอร์ตที่จะทดสอบ ตรวจสอบว่าสามารถเชื่อมต่อกับพอร์ตนั้นได้หรือไม่

การเขียนสคริปต์ PowerShell

การเขียนสคริปต์ PowerShell เป็นแพลตฟอร์มอเนกประสงค์ที่พัฒนาโดย Microsoft สำหรับสภาพแวดล้อม Windows ภาษาไดนามิกนี้มอบอาร์เรย์ของยูทิลิตี้ทันทีที่แกะกล่อง ยูทิลิตี้หนึ่งที่เราใช้งานคือ Test-NetConnection cmdlet ยูทิลิตี้นี้นำเสนอวิธีง่ายๆ ในการทำการทดสอบเครือข่ายที่หลากหลาย ซึ่งสามารถเขียนสคริปต์และเป็นอัตโนมัติได้ เหมาะสำหรับผู้ดูแลระบบที่จัดการเครือข่ายขนาดใหญ่

ความสำคัญของการจัดการท่าเรือ

การจัดการท่าเรือเป็นแบบ จำเป็น งานสำหรับผู้ดูแลระบบไอที DevOps และผู้เชี่ยวชาญด้านความปลอดภัย เนื่องจากพอร์ตที่เปิดและมีช่องโหว่อาจเป็นพื้นที่เสี่ยงได้ ความสามารถในการดู ตรวจสอบ ทดสอบ และปิดพอร์ตตามความต้องการกลายเป็นทักษะที่สำคัญ (หากไม่จำเป็น) สคริปต์ PowerShell สามารถมีบทบาทสำคัญในการทำงานเหล่านี้โดยอัตโนมัติ และ cmdlets ของ PowerShell ช่วยปรับปรุงกระบวนการ

Test-NetConnection cmdlet ทำงานอย่างไร

Test-NetConnection คือ cmdlet ที่แสดงอินเทอร์เฟซ cmdlet แบบสคริปต์เชิงลึกไปยังอินเทอร์เฟซการวินิจฉัยเครือข่ายจำนวนมากที่เปิดเผยโดยระบบปฏิบัติการ cmdlet โดดเด่นเป็นพิเศษเมื่อต้องทดสอบบริการเฉพาะภายในเซิร์ฟเวอร์ หรือเพื่อทดสอบเวลาแฝงของเครือข่ายของการเชื่อมต่อระหว่างต้นทางและปลายทาง ไม่ว่าจะเป็น TCP หรือ ICMP

ข้อมูลที่ได้รับจาก cmdlet นี้มีประโยชน์อย่างยิ่งเมื่อพยายามระบุพอร์ตที่เปิดอยู่ และดูประเภทการเชื่อมต่อที่เครื่องมีกับเครือข่าย

โดยสรุป Powershell พร้อมด้วย cmdlets ต่างๆ เช่น Test-NetConnection มอบความสามารถที่หลากหลายที่ช่วยอย่างมากในการจัดการเครือข่าย การจัดการพอร์ต ช่วยให้ระบบอัตโนมัติและการจัดการงานดังกล่าวมีประสิทธิภาพและประสิทธิผล

กระทู้ที่เกี่ยวข้อง: