วิธีใช้ LSOF เพื่อตรวจสอบพอร์ตแบบเรียลไทม์

Withi Chi Lsof Pheux Trwc Sxb Phxrt Baeb Rei Yl Thim



LSOF (List Open Files) เป็นเครื่องมือตรวจสอบบรรทัดคำสั่งที่ใช้ในระบบปฏิบัติการที่คล้ายกับ Linux/Unix คำสั่ง LSOF ให้ข้อมูลเกี่ยวกับไฟล์และกระบวนการที่ใช้งานอยู่ซึ่งกำลังเข้าถึงอยู่ในปัจจุบัน

เครื่องมือบรรทัดคำสั่ง LSOF มีประโยชน์อย่างมากสำหรับผู้ดูแลระบบและนักพัฒนาโดยอนุญาตให้:

  • กำหนดกระบวนการที่ใช้ไฟล์หรือพอร์ตเฉพาะในปัจจุบัน โดยเฉพาะอย่างยิ่งในกรณีที่พอร์ตขัดแย้งกัน
  • ตรวจจับไฟล์ที่ถูกลบแต่ยังคงเปิดอยู่โดยกระบวนการที่อาจนำไปสู่การใช้พื้นที่โดยไม่จำเป็น คำสั่ง LSOF ทำหน้าที่ระบุและจัดการกับอินสแตนซ์ดังกล่าว
  • ช่วยในการแก้ไขปัญหาข้อผิดพลาด เช่น “พอร์ตถูกใช้งานแล้ว” ได้อย่างมีประสิทธิภาพ
  • ติดตามกิจกรรมเครือข่ายและการเชื่อมต่อเครือข่ายแบบเปิดเพื่อวัตถุประสงค์ในการตรวจสอบ
  • ตรวจสอบรูปแบบการเข้าถึงไฟล์ ซึ่งมีส่วนช่วยในการระบุการละเมิดความปลอดภัยที่อาจเกิดขึ้น

ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีใช้คำสั่ง LSOF เพื่อตรวจสอบพอร์ตแบบเรียลไทม์







ไวยากรณ์พื้นฐานของคำสั่ง LSOF

ไวยากรณ์ของคำสั่ง LSOF เป็นดังนี้:



$ lsof [ ตัวเลือก ] [ ชื่อ ]

ตัวเลือกคือแฟล็กที่ใช้กับคำสั่ง LSOF ชื่อแสดงถึงชื่อไฟล์, PID (ID กระบวนการ), ชื่อผู้ใช้ หรือไฟล์เครือข่าย (IPv4, IPv6) ขึ้นอยู่กับอ็อพชันที่มีให้ คำสั่ง LSOF จะแสดงรายการไฟล์ที่เปิดซึ่งสอดคล้องกับชื่อเหล่านี้



ตรวจสอบพอร์ตแบบเรียลไทม์โดยใช้คำสั่ง LSOF

LSOF ถูกรวมไว้เป็นค่าเริ่มต้นในระบบ Linux หลายระบบ คุณต้องดาวน์โหลดและติดตั้งหนึ่งในแพ็คเกจที่มีอยู่ด้วยตนเองหากไม่ได้ติดตั้ง หากต้องการตรวจสอบการติดตั้ง LSOF บนระบบของคุณ ให้ใช้คำสั่งต่อไปนี้เพื่อแสดงเวอร์ชันที่ติดตั้ง:





$ lsof -ใน

สิ่งสำคัญคือต้องทราบว่าในการใช้คำสั่ง LSOF ด้วยสิทธิ์ที่เหมาะสม ข้อมูลบางอย่างเกี่ยวกับกระบวนการและการเชื่อมต่อเครือข่ายอาจต้องใช้สิทธิ์ผู้ใช้ขั้นสูง และคุณอาจต้องใช้ 'sudo' เพื่อเรียกใช้คำสั่งด้วยสิทธิ์ผู้ดูแลระบบ



แสดงรายการไฟล์เครือข่าย

เมื่อคุณรันคำสั่ง LSOF ด้วยตัวเลือก “-i” คำสั่งจะแสดงข้อมูลเกี่ยวกับกระบวนการที่มีการเชื่อมต่อเครือข่าย เช่น ซ็อกเก็ตการฟังหรือการเชื่อมต่อที่สร้างขึ้น

$ ฉัน

คำสั่งก่อนหน้านี้แสดงข้อมูลเกี่ยวกับชื่อกระบวนการ (COMMAND), ID กระบวนการ (PID), ผู้ใช้ (USER), ตัวอธิบายไฟล์ (FD), ประเภทการเชื่อมต่อ (TYPE), ที่อยู่ภายในเครื่องและระยะไกล และสถานะการเชื่อมต่อ คุณควรเห็นผลลัพธ์ต่อไปนี้:

แสดงรายการการเชื่อมต่อ TCP

คุณสามารถกรองเอาต์พุตตามเกณฑ์เฉพาะ เช่น ประเภทของการเชื่อมต่อหรือพอร์ตเฉพาะ ตัวอย่างเช่น คุณสามารถใช้ 'lsof -i tcp' เพื่อแสดงรายการเฉพาะกระบวนการที่เกี่ยวข้องกับการเชื่อมต่อ TCP

$ lsof -ฉัน ทีพีพี: 1 - - 1,024

คำสั่งก่อนหน้านี้กรองข้อมูลเกี่ยวกับกระบวนการที่มีการเชื่อมต่อ TCP ที่เปิดอยู่ภายในช่วงพอร์ตที่ระบุตั้งแต่ 1 ถึง 1024 สิ่งนี้มีประโยชน์ในการระบุว่ากระบวนการใดกำลังใช้พอร์ตที่รู้จักกันดีซึ่งเชื่อมโยงกับบริการทั่วไป

ตรวจสอบพอร์ตเฉพาะแบบเรียลไทม์

เมื่อใช้ LSOF คุณสามารถตรวจสอบพอร์ตเฉพาะแบบเรียลไทม์ ตัวอย่างเช่น คุณต้องการตรวจสอบกระบวนการที่เกี่ยวข้องกับ “HTTP” บนพอร์ต 80 ซึ่งจะอัปเดตทุกๆ 3 วินาที เมื่อต้องการทำเช่นนี้ ให้ตรวจสอบพอร์ต 80 แบบเรียลไทม์ด้วยคำสั่งต่อไปนี้:

$ lsof -ฉัน : : 80 -r3

ตรวจสอบพอร์ต SSHD 22 แบบเรียลไทม์

หากต้องการตรวจสอบการเชื่อมต่อ SSHD ทั้งหมดที่ทำงานบนพอร์ต 22 ให้รันคำสั่งต่อไปนี้:

$ ซูโดะ lsof -ฉัน : : 22 -r3

คำสั่งนี้จะตรวจสอบและแสดงข้อมูลเรียลไทม์เกี่ยวกับการเชื่อมต่อเครือข่ายบนพอร์ต 22 อย่างต่อเนื่องทุกๆ 3 วินาที สิ่งนี้มีประโยชน์อย่างยิ่งสำหรับการติดตามการเปลี่ยนแปลง เช่น การเชื่อมต่อ SSH ใหม่หรือการตัดการเชื่อมต่อที่เกิดขึ้นแบบเรียลไทม์

ตรวจสอบช่วงพอร์ตแบบเรียลไทม์

ในการตรวจสอบข้อมูลเกี่ยวกับกระบวนการแบบเรียลไทม์ที่มีการเชื่อมต่อ TCP ที่เปิดอยู่ภายในช่วงพอร์ตที่ระบุตั้งแต่ 1 ถึง 1024 คุณสามารถใช้คำสั่งต่อไปนี้:

$ lsof -ฉัน ทีพีพี: 1 - - 1,024 -r3

ตรวจสอบพอร์ตทั้งหมดแบบเรียลไทม์

คุณสามารถตรวจสอบการเชื่อมต่อเครือข่ายทั้งหมดแบบเรียลไทม์โดยใช้คำสั่ง LSOF ตัวอย่างเช่น คุณต้องการตรวจสอบและแสดงข้อมูลเรียลไทม์เกี่ยวกับการเชื่อมต่อเครือข่ายอย่างต่อเนื่องทุกๆ 5 วินาที

$ lsof -ฉัน -r5

ผลลัพธ์ต่อไปนี้มีรายละเอียดเกี่ยวกับกระบวนการและซ็อกเก็ตเครือข่ายที่เกี่ยวข้องแบบเรียลไทม์หลังจากทุกๆ 5 วินาที:

ในทำนองเดียวกัน คุณสามารถตรวจสอบเฉพาะการเชื่อมต่อที่ “สร้างขึ้น” ด้วยคำสั่ง LSOF:

$ lsof -ฉัน -และ -r10

บทสรุป

ในบทช่วยสอนนี้ เราได้เรียนรู้วิธีตรวจสอบพอร์ตแบบเรียลไทม์โดยใช้คำสั่ง LSOF คำสั่งนี้ยังสามารถช่วยผู้ดูแลระบบและผู้ใช้ Linux อื่นๆ ในการตรวจสอบการเชื่อมต่อเครือข่าย รวมถึงพอร์ตที่ใช้งานอยู่หรือเปิดอยู่ทั้งหมด เราหวังว่าคู่มือนี้จะช่วยให้คุณเข้าใจวิธีใช้คำสั่ง LSOF ด้วยตัวเลือกต่างๆ และตรวจสอบพอร์ตและกระบวนการต่างๆ ในแบบเรียลไทม์