ในบทความอื่น เราได้อธิบายพอร์ตของคอมพิวเตอร์และสิ่งที่พวกเขาใช้สำหรับ นอกเหนือจากนั้น เราสามารถทำอะไรกับข้อมูลพอร์ต? เนื่องจากการรับส่งข้อมูลเข้าและออกจากคอมพิวเตอร์ทั้งหมดต้องผ่านพอร์ต เราจึงสามารถตรวจสอบได้ว่าพวกเขากำลังทำอะไรอยู่ บางทีพอร์ตไม่รับฟังการจราจร? อาจมีบางอย่างกำลังใช้พอร์ตที่ไม่ควรเป็น
เราจะใช้คำสั่ง Windows netstat เพื่อดูพอร์ตการฟังและ PID (Process ID) ของเรา เราจะมาดูกันว่าเราจะทำอะไรกับข้อมูลนั้นได้บ้าง
Netstat คืออะไร
คำสั่ง netstat คือการรวมกันของคำว่า 'เครือข่าย' และ 'สถิติ' คำสั่ง netstat ใช้ได้กับ Windows ทุกรุ่นตั้งแต่ Windows XP จนถึง Windows 10 และยังใช้ในระบบปฏิบัติการ (OS) อื่นๆ เช่น Unix และ Linux แต่เราจะยึด Windows ที่นี่
Netstat สามารถให้บริการ:
- ชื่อของโปรโตคอลที่พอร์ตใช้ (TCP หรือ UDP)
- ที่อยู่ IP ในเครื่องและชื่อคอมพิวเตอร์และหมายเลขพอร์ตที่ใช้
- ที่อยู่ IP และหมายเลขพอร์ตที่เรากำลังเชื่อมต่อ
- สถานะของการเชื่อมต่อ TCP สำหรับรายละเอียดเกี่ยวกับสถานะเหล่านี้ โปรดอ่านส่วนการประมวลผลเหตุการณ์ของ RFC 793
การใช้ Netstat เพื่อดูพอร์ตการฟังและ PID
- ใช้คีย์ผสม ชนะคีย์ + X . ในเมนูที่เปิดขึ้น ให้เลือก พรอมต์คำสั่ง .
- ป้อนคำสั่ง
netstat -a -n -o
พารามิเตอร์สำหรับ netstat นำหน้าด้วยยัติภังค์ ไม่ใช่เครื่องหมายทับเหมือนคำสั่งอื่นๆ -a บอกให้แสดงการเชื่อมต่อที่ใช้งานอยู่ทั้งหมดและพอร์ตที่คอมพิวเตอร์กำลังฟังอยู่
-n บอกให้ netstat แสดงที่อยู่ IP และพอร์ตเป็นตัวเลขเท่านั้น เรากำลังบอกไม่ให้พยายามแก้ไขชื่อ ทำให้การแสดงผลรวดเร็วและเรียบร้อยยิ่งขึ้น -o บอกให้ netstat รวม PID เราจะใช้ PID ในภายหลังเพื่อค้นหาว่ากระบวนการใดกำลังใช้พอร์ตเฉพาะอยู่
- ดูผลลัพธ์และจดที่อยู่ หมายเลขพอร์ต สถานะ และ PID สมมติว่าเราต้องการทราบว่ามีอะไรใช้พอร์ต 63240 โปรดทราบว่า PID ของพอร์ตคือ 8552 และเชื่อมต่อกับที่อยู่ IP 172.217.12.138 ที่พอร์ต 443
ใช้พอร์ตนั้นทำอะไรอยู่
- เปิดตัวจัดการงาน ซึ่งทำได้ง่ายที่สุดโดยใช้คีย์ผสม Ctrl + Shift + Esc .
- คลิกที่ รายละเอียด แท็บ เพื่อให้ค้นหาได้ง่ายขึ้น ให้คลิกที่ PID ส่วนหัวของคอลัมน์เพื่อจัดเรียง PID เป็นตัวเลข
- เลื่อนลงไปที่ PID 8552 และดูว่ามันเป็นกระบวนการอะไร ในกรณีนี้คือ googledrivesync.exe . แต่มันจริงเหรอ? บางครั้งไวรัสอาจทำให้ตัวเองดูเหมือนเป็นกระบวนการที่ถูกต้องตามกฎหมาย
- ในเว็บเบราว์เซอร์ ไปที่ ipinfo.io ป้อนที่อยู่ IP 172.217.12.138 . อย่างที่เราเห็น ที่อยู่ IP นั้นลงทะเบียนกับ Google แล้ว ดังนั้น googledrivesync.exe นี้จึงเป็นไฟล์ที่ถูกต้อง
วิธีรับพอร์ต, PID และชื่อกระบวนการใน PowerShell
PowerShell เป็นวิธีใหม่ของ Microsoft ในการใช้อินเทอร์เฟซบรรทัดคำสั่งกับ Windows เราบอกว่าใหม่กว่า แต่มีมาหลายรุ่นแล้ว คุณควรเรียนรู้ PowerShell แม้ว่าคุณจะเป็นผู้ใช้ตามบ้านก็ตาม
คำสั่ง Windows ส่วนใหญ่ทำงานใน PowerShell ได้เช่นกัน นอกจากนี้ เราสามารถรวมคำสั่งเหล่านั้นกับ cmdlets ของ PowerShell ได้ – command-lets ที่ออกเสียง . Joe ที่ Winteltools.com มีสคริปต์สำหรับวิธีนี้
- เปิด Notepad และใส่รหัสต่อไปนี้:
$netstat =netstat -aon | Select-String -pattern "(TCP|UDP)"$processList =Get-Processforeach ($ผลใน $netstat) { $splitArray =$result -split " " $procID =$splitArray[$splitArray.length – 1] $processName =$processList | Where-Object {$_.id -eq $procID} | เลือกชื่อกระบวนการ $splitArray[$splitArray.length – 1] =$procID + " " + $processName.processname $splitArray -join " "}
- บันทึกไฟล์เป็น get-NetstatProcessName.ps1 . ตรวจสอบให้แน่ใจว่าได้บันทึกไว้ที่ใด สิ่งสำคัญคือต้องเปลี่ยน บันทึกเป็นประเภท: ไปยัง ไฟล์ทั้งหมด (*.*) หรือจะได้รับการบันทึกเป็น get-NetstatProcessName.ps1.txt และใช้งานไม่ได้
- เปิด PowerShell และนำทางไปยังตำแหน่งที่บันทึกสคริปต์ไว้ ในกรณีนี้ มันคือ
cd C:\Scripts
กด Enter เพื่อรันคำสั่ง
- รันสคริปต์โดยใช้ dot-sourcing เพื่อให้มันทำงาน นั่นหมายถึงใช้ ./ ก่อนชื่อไฟล์. คำสั่งจะเป็น
./get-NetstatProcessName.ps1
- ตอนนี้ เราสามารถเห็นข้อมูล netstat ดั้งเดิมทั้งหมดพร้อมชื่อกระบวนการ ไม่จำเป็นต้องเปิด Task Manager อีกต่อไป
ไปรับพวกเขา
เราได้กล่าวถึงสองวิธีในการใช้คำสั่ง netstat เพื่อดูพอร์ตการฟัง สามารถใช้ได้ทั้งใน Command Prompt แบบเก่าหรือภายในสคริปต์ PowerShell ด้วยข้อมูลที่สามารถให้เราได้ เราได้ดูว่าข้อมูลดังกล่าวจะช่วยให้เราทราบว่าคอมพิวเตอร์ของเราทำอะไรได้บ้าง
หากคุณคิดว่า netstat เป็นยูทิลิตี้ที่ยอดเยี่ยม ให้ลองดูยูทิลิตี้ Windows TCP/IP อื่นๆ เช่น tracert, ipconfig และ nslookup หรือใช้ Resource Monitor เพื่อดูเว็บไซต์ที่ซ่อนอยู่และการเชื่อมต่ออินเทอร์เน็ตได้ดีขึ้น มีหลายสิ่งที่คุณทำได้เพื่อดูว่าคอมพิวเตอร์ของคุณทำอะไรอยู่
คุณเคยใช้ netstat เพื่อแก้ปัญหาหรือไม่? โปรดบอกเราว่าคุณทำอะไร มีคำถามเกี่ยวกับการใช้ netstat หรือไม่? โปรดถามเราในความคิดเห็นด้านล่าง