ใช้ Netstat เพื่อดู Listening Ports และ PID ใน Windows

ในบทความอื่น เราได้อธิบายพอร์ตของคอมพิวเตอร์และสิ่งที่พวกเขาใช้(explained computer ports and what they’re used for)สำหรับ นอกเหนือจากนั้น เราสามารถทำอะไรกับข้อมูลพอร์ต? เนื่องจากการรับส่งข้อมูลเข้าและออกจากคอมพิวเตอร์ทั้งหมดต้องผ่านพอร์ต เราจึงสามารถตรวจสอบได้ว่าพวกเขากำลังทำอะไรอยู่ บางทีพอร์ตไม่ฟังการจราจร? อาจมีบางอย่างกำลังใช้พอร์ตที่ไม่ควรเป็น 

เราจะใช้คำสั่งWindows netstatเพื่อดูพอร์ตการรับฟังและPID ( Process ID ) ของเรา เราจะดูว่าเราสามารถทำอะไรกับข้อมูลนั้นได้บ้าง

Netstat คืออะไร?(What Is Netstat?)

คำสั่ง netstat คือการรวมกันของคำว่า 'เครือข่าย' และ 'สถิติ' คำสั่ง netstat ใช้งานได้กับ Windows ทุกรุ่นตั้งแต่Windows XP (Windows)จนถึง(Windows XP) Windows 10 (Windows 10)มันยังใช้ในระบบปฏิบัติการอื่น (OS) เช่นUnixและLinuxแต่เราจะยึดWindowsที่นี่

Netstat สามารถให้:

  • ชื่อของโปรโตคอลที่พอร์ตใช้ ( TCPหรือUDP )
  • ที่อยู่ IP ในเครื่องและชื่อคอมพิวเตอร์และหมายเลขพอร์ตที่ใช้
  • ที่อยู่ IP และหมายเลขพอร์ตที่เรากำลังเชื่อมต่อ
  • สถานะของการเชื่อมต่อTCP สำหรับรายละเอียดเกี่ยวกับสถานะเหล่านี้ โปรดอ่านส่วนการประมวลผลเหตุการณ์ของ RFC(Event Processing section of RFC 793) 793

ใช้ Netstat เพื่อดูพอร์ตการฟัง & PID(Using Netstat To See Listening Ports & PID)

  • ใช้คีย์ผสมWin Win Key + Xในเมนูที่เปิดขึ้น ให้เลือกCommand Prompt(Command Prompt)

  • ป้อน(Enter)คำสั่ง
    netstat -a -n -o
    . พารามิเตอร์สำหรับ netstat นำหน้าด้วยยัติภังค์ ไม่ใช่เครื่องหมายทับเหมือนคำสั่งอื่นๆ -a บอกให้แสดงการเชื่อมต่อที่ใช้งานอยู่ทั้งหมดและพอร์ตที่คอมพิวเตอร์กำลังฟังอยู่

    -n บอกให้ netstat แสดงที่อยู่ IP และพอร์ตเป็นตัวเลขเท่านั้น เรากำลังบอกไม่ให้พยายามแก้ไขชื่อ ทำให้การแสดงผลรวดเร็วและเรียบร้อยยิ่งขึ้น -o บอกให้ netstat รวมPID เราจะใช้PIDในภายหลังเพื่อค้นหาว่ากระบวนการใดใช้พอร์ตเฉพาะ

  • ดู(View)ผลลัพธ์และจดที่อยู่ หมายเลขพอร์ต สถานะและPID สมมติว่าเราต้องการทราบว่าพอร์ต 63240 ใช้อะไรอยู่ โปรดทราบว่าPID ของมัน คือ 8552 และกำลังเชื่อมต่อกับที่อยู่ IP 172.217.12.138 บนพอร์ต 443

ใช้พอร์ตนั้นทำอะไร(What’s Using That Port?)

  • เปิดตัวจัดการ(Task Manager)งาน ที่ทำได้ง่ายที่สุดโดยใช้คีย์ผสมCtrl Ctrl + Shift + Esc

  • คลิกที่แท็บรายละเอียด (Details )เพื่อให้ค้นหาได้ง่ายขึ้น ให้คลิกที่ส่วนหัวของคอลัมน์PID เพื่อจัดเรียง (PID )PID(PIDs) ตาม ตัวเลข

  • เลื่อนลงไปที่ PID 8552และดูว่ากระบวนการนั้นคืออะไร ในกรณีนี้คือgoogledrivesync.exe แต่มันจริงเหรอ? บางครั้งไวรัสสามารถทำให้ตัวเองดูเหมือนเป็นกระบวนการที่ถูกต้องตามกฎหมาย

  • ในเว็บเบราว์เซอร์ ไปที่ipinfo.io ป้อนที่ อยู่IP 172.217.12.138 อย่างที่เราเห็น ที่อยู่ IP นั้นลงทะเบียนกับGoogleแล้ว ดังนั้น googledrivesync.exe นี้จึงถูกกฎหมาย

วิธีรับพอร์ต PID และชื่อกระบวนการใน PowerShell(How To Get Port, PID, & Process Name In PowerShell)

PowerShell เป็นวิธีใหม่ของ Microsoft ในการใช้อินเทอ ร์เฟซบรรทัดคำสั่งกับWindows เราว่าใหม่กว่า แต่มีมาหลายเวอร์ชั่นแล้ว คุณควรเรียนรู้ PowerShell แม้ว่าคุณจะเป็นผู้ใช้(learn PowerShell even if you’re a home user)ตาม บ้าน

คำสั่ง Windows(Windows)ส่วนใหญ่ยังทำงานในPowerShellและเรายังสามารถรวมคำสั่งเหล่านั้นกับcmdlets ของPowerShell – command-lets ที่(command-lets)เด่น ชัด Joe ที่Winteltools.comมีสคริปต์สำหรับวิธีนี้

  • เปิดNotepadและป้อนรหัสต่อไปนี้:
$netstat = netstat -aon | Select-String -pattern "(TCP|UDP)"
$processList = Get-Process

foreach ($result in $netstat) {
   $splitArray = $result -split " "
   $procID = $splitArray[$splitArray.length – 1]
   $processName = $processList | Where-Object {$_.id -eq $procID} |    select processname
   $splitArray[$splitArray.length – 1] = $procID + " " +      $processName.processname
   $splitArray -join " "
}

  • บันทึกไฟล์เป็นget -NetstatProcessName.ps1 (get-NetstatProcessName.ps1)ตรวจสอบให้แน่ใจว่าได้บันทึกไว้ที่ใด สิ่งสำคัญคือต้องเปลี่ยนบันทึกเป็นประเภท:(Save as type: )เป็นAll Files (*.*)ฉะนั้นระบบจะบันทึกเป็น get-NetstatProcessName.ps1 .txtและใช้งานไม่ได้

  • เปิดPowerShellและไปที่ตำแหน่งที่บันทึกสคริปต์ ในกรณีนี้ มันคือ <pre>cd C:Scripts</pre> กดEnterเพื่อเรียกใช้คำสั่ง

  • รันสคริปต์โดยใช้ dot-sourcing เพื่อให้มันทำงาน นั่นหมายถึงใช้./ / นำหน้าชื่อไฟล์ คำสั่งจะเป็น
    ./get-NetstatProcessName.ps1< /pre

  • ตอนนี้เราสามารถเห็นข้อมูล netstat ดั้งเดิมทั้งหมดพร้อมชื่อกระบวนการ ไม่จำเป็นต้องเปิดตัวจัดการงาน(Task Manager)อีกต่อไป

ไปรับพวกเขา(Go Get Them)

เราได้กล่าวถึงสองวิธีในการใช้คำสั่ง netstat เพื่อดูพอร์ตการฟัง สามารถใช้ได้ทั้งในCommand Prompt เก่า หรือภายในสคริปต์PowerShell ด้วยข้อมูลที่สามารถให้เราได้ เราได้ดูว่าข้อมูลดังกล่าวจะช่วยให้เราทราบว่าคอมพิวเตอร์ของเราทำอะไรได้บ้าง 

หากคุณคิดว่า netstat เป็นยูทิลิตี้ที่ยอดเยี่ยม ให้ลองดูยูทิลิตี้ Windows TCP/IP อื่น ๆเช่น tracert, ipconfig และ nslookup หรือใช้ Resource Monitor เพื่อดูเว็บไซต์ที่ซ่อนอยู่และการเชื่อมต่ออินเทอร์เน็ต(use Resource Monitor to get a better look into hidden website and Internet connections)ได้ดีขึ้น มีหลายสิ่งที่คุณทำได้เพื่อดูว่าคอมพิวเตอร์ของคุณทำอะไรอยู่

คุณเคยใช้ netstat เพื่อแก้ปัญหาหรือไม่? โปรด(Please)บอกเราว่าคุณทำอะไร มีคำถามเกี่ยวกับการใช้ netstat หรือไม่? กรุณา(Please)ถามเราในความคิดเห็นด้านล่าง



About the author

ฉันเป็นนักพัฒนาเว็บที่มีประสบการณ์มากกว่า 10 ปีในการทำงานกับเบราว์เซอร์ Firefox และ Google Docs ฉันเป็นผู้เชี่ยวชาญในการสร้างแอปพลิเคชันออนไลน์ที่เรียบง่ายแต่ทรงพลัง และได้พัฒนาโซลูชันบนเว็บสำหรับทั้งธุรกิจขนาดเล็กและองค์กรขนาดใหญ่ ฐานลูกค้าของฉันประกอบด้วยชื่อที่ใหญ่ที่สุดในธุรกิจ เช่น FedEx, Coca Cola และ Macy's ทักษะของฉันในฐานะนักพัฒนาทำให้ฉันเป็นผู้สมัครในอุดมคติสำหรับโครงการใดๆ ที่จำเป็นต้องทำให้เสร็จอย่างรวดเร็วและมีประสิทธิภาพ - ตั้งแต่การพัฒนาเว็บไซต์ที่กำหนดเองไปจนถึงการสร้างแคมเปญการตลาดทางอีเมลที่มีประสิทธิภาพ



Related posts