สิ่งที่ต้องรู้
- หากต้องการเรียกใช้ netstat และดูข้อมูลโดยละเอียดเกี่ยวกับเครือข่าย Mac ของคุณ ให้เปิดเครือข่ายใหม่ เทอร์มินัล หน้าต่างพิมพ์ เน็ตสแตท , และ กด เข้า .
- จำกัดเอาต์พุตของ netstat ด้วยแฟล็กและตัวเลือก หากต้องการดูตัวเลือกที่มีของ netstat ให้พิมพ์ คุณเน็ตสแตท ที่พรอมต์คำสั่ง
- ใช้ คำสั่ง lsof เพื่อชดเชยฟังก์ชั่นที่ขาดหายไปหรือจำกัดของ netstat รวมถึงการแสดงไฟล์ใด ๆ ที่เปิดอยู่ในแอปใด ๆ ในปัจจุบัน
บทความนี้จะอธิบายวิธีเรียกใช้คำสั่ง netstat Terminal ใน macOS เพื่อให้คุณสามารถดูข้อมูลโดยละเอียดเกี่ยวกับการสื่อสารผ่านเครือข่ายของ Mac รวมถึงวิธีที่ Mac ของคุณสื่อสารกับโลกภายนอก ในทุกพอร์ตและแอพพลิเคชั่นทั้งหมด
วิธีการเรียกใช้ Netstat
เรียนรู้วิธีการใช้ netstat สามารถช่วยให้คุณเข้าใจการเชื่อมต่อที่คอมพิวเตอร์ของคุณทำและเหตุผล คำสั่ง netstat มีอยู่ใน Mac ตามค่าเริ่มต้น คุณไม่จำเป็นต้องดาวน์โหลดหรือติดตั้ง
หากต้องการเรียกใช้ netstat:
-
ไปที่ ตัวค้นหา > ไป > สาธารณูปโภค .
-
ดับเบิลคลิก เทอร์มินัล .
facebook โปรไฟล์ รายชื่อเพื่อน ลำดับ ความหมาย
-
ในหน้าต่าง Terminal ใหม่ ให้พิมพ์ เน็ตสแตท และกด กลับ (หรือ เข้า ) เพื่อดำเนินการคำสั่ง
-
ข้อความจำนวนมากจะเริ่มเลื่อนบนหน้าจอของคุณ หากคุณไม่ได้ใช้แฟล็กที่มีอยู่ (ดูด้านล่าง) netstat จะรายงานการเชื่อมต่อเครือข่ายที่ใช้งานบน Mac ของคุณ เมื่อพิจารณาถึงจำนวนฟังก์ชันที่อุปกรณ์เครือข่ายสมัยใหม่ทำ คุณคาดว่ารายการจะมีความยาวได้ รายงานมาตรฐานสามารถทำงานได้มากกว่า 1,000 บรรทัด
ค่าสถานะและตัวเลือก Netstat
การกรองเอาต์พุตของ netstat ถือเป็นสิ่งสำคัญในการทำความเข้าใจว่าเกิดอะไรขึ้นกับพอร์ตที่ใช้งานอยู่ของ Mac แฟล็กในตัวของ Netstat ช่วยให้คุณสามารถตั้งค่าตัวเลือก โดยจำกัดขอบเขตของคำสั่ง
หากต้องการดูตัวเลือกที่มีทั้งหมดของ netstat ให้พิมพ์ คุณเน็ตสแตท ที่พรอมต์คำสั่งเพื่อแสดงหน้า man ของ netstat (ย่อมาจาก 'manual') คุณยังสามารถดู man page ของ netstat เวอร์ชันออนไลน์ .
ไวยากรณ์
สิ่งสำคัญที่ควรทราบคือ netstat บน macOS ไม่ทำงานในลักษณะเดียวกับ netstat บน Windows และ Linux การใช้แฟล็กหรือไวยากรณ์จากการใช้งาน netstat เหล่านั้นอาจไม่ส่งผลให้เกิดลักษณะการทำงานที่คาดหวัง
หากต้องการเพิ่มแฟล็กและตัวเลือกให้กับ netstat บน macOS ให้ใช้ไวยากรณ์ต่อไปนี้:
netstat [-AabdgiLlmnqrRsSvWx] [-c คิว] [-f address_family] [-I อินเทอร์เฟซ] [-p โปรโตคอล] [-w รอ]
หากการจดชวเลขด้านบนดูเข้าใจยากโดยสิ้นเชิง ให้เรียนรู้วิธีอ่านไวยากรณ์คำสั่ง
ธงที่มีประโยชน์
นี่คือธงบางส่วนที่ใช้บ่อยที่สุด:
- ที่ -ฉัน สามารถขยายธงเพื่อระบุรายละเอียดเพิ่มเติมได้ -iTCP หรือ -iUDP ส่งคืนเฉพาะการเชื่อมต่อ TCP และ UDP -iTCP:25 ส่งคืนเฉพาะการเชื่อมต่อ TCP บนพอร์ต 25 ช่วงของพอร์ตสามารถระบุได้ด้วยเครื่องหมายขีดกลาง เช่นเดียวกับ -iTCP:25-50
- การใช้ -i@1.2.3.4 จะส่งคืนเฉพาะการเชื่อมต่อไปยังที่อยู่ IPv4 1.2.3.4 ที่อยู่ IPv6 สามารถระบุได้ในลักษณะเดียวกัน @ precursor ยังสามารถใช้เพื่อระบุชื่อโฮสต์ในลักษณะเดียวกัน แต่ทั้งที่อยู่ IP ระยะไกลและชื่อโฮสต์ไม่สามารถใช้พร้อมกันได้
- - - ใน ผู้ใช้ส่งคืนเฉพาะคำสั่งที่เป็นของผู้ใช้ที่ระบุชื่อเท่านั้น
- ฉันจะทราบได้อย่างไรว่ามีอะไรทำงานผ่านพอร์ตใดพอร์ตหนึ่งบน Mac ของฉัน
ขั้นแรก คุณต้องทราบหมายเลขพอร์ตที่คุณต้องการตรวจสอบ จากนั้นเปิด Terminal แล้วพิมพ์ lsof -i: [หมายเลขพอร์ต] เพื่อดูว่ามีอะไรไหลออกจากพอร์ตนั้นบ้าง
- ฉันสามารถค้นหาที่อยู่ MAC ด้วย netstat ได้หรือไม่
คุณควรเห็นที่อยู่ MAC ของคอมพิวเตอร์ผ่าน netstat เป็นที่อยู่ 'ในเครื่อง' โดยจะจัดกลุ่มเป็น TCP (โปรโตคอล) และที่อยู่ IP (ต่างประเทศ)
ตัวอย่าง Netstat
ลองพิจารณาตัวอย่างเหล่านี้:
netstat -apv TCP
คำสั่งนี้จะส่งคืนเฉพาะการเชื่อมต่อ TCP บน Mac ของคุณ รวมถึงพอร์ตที่เปิดและพอร์ตที่ใช้งานอยู่ นอกจากนี้ยังใช้เอาต์พุตแบบละเอียด โดยแสดงรายการ PID ที่เกี่ยวข้องกับการเชื่อมต่อแต่ละรายการ
netstat -a | grep -i 'รายการ'
การรวมกันนี้ของ เน็ตสแตท และ ด้ามจับ เผยพอร์ตที่เปิดอยู่ซึ่งเป็นพอร์ตที่กำลังฟังข้อความ ลักษณะของท่อ | ส่งเอาต์พุตของคำสั่งหนึ่งไปยังคำสั่งอื่น ที่นี่ผลลัพธ์ของ เน็ตสแตท ท่อไป ด้ามจับ ให้คุณค้นหาด้วยคำสำคัญ 'ฟัง' และค้นหาผลลัพธ์
การเข้าถึง Netstat ผ่าน Network Utility
คุณยังสามารถเข้าถึงฟังก์ชันการทำงานบางอย่างของ netstat ผ่านทางแอพ Network Utility ซึ่งมีอยู่ใน macOS เวอร์ชันจนถึง Catalina (ไม่รวมอยู่ใน Big Sur)
หากต้องการไปที่ Network Utility ให้พิมพ์ ยูทิลิตี้เครือข่าย ลงใน Spotlight Search เพื่อเปิดแอป จากนั้นเลือก เน็ตสแตท แท็บเพื่อเข้าถึงอินเทอร์เฟซแบบกราฟิก
ตัวเลือกภายใน Network Utility นั้นมีข้อจำกัดมากกว่าตัวเลือกที่มีให้ผ่านทางบรรทัดคำสั่ง การเลือกปุ่มตัวเลือกทั้งสี่ปุ่มแต่ละครั้งจะเรียกใช้ netstat ที่ตั้งไว้ล่วงหน้า คำสั่งและแสดงผลลัพธ์
คำสั่ง netstat สำหรับปุ่มตัวเลือกแต่ละปุ่มมีดังนี้:
การเสริม Netstat ด้วย Lsof
การใช้งาน netstat ของ macOS ไม่ได้มีฟังก์ชันการทำงานที่ผู้ใช้คาดหวังและต้องการมากนัก แม้ว่าจะมีการใช้งาน แต่ netstat ก็ไม่มีประโยชน์บน macOS เช่นเดียวกับบน Windows คำสั่งอื่น lsof แทนที่ฟังก์ชันการทำงานที่ขาดหายไปจำนวนมาก
Lsof แสดงไฟล์ที่เปิดอยู่ในแอปในปัจจุบัน คุณยังสามารถใช้เพื่อตรวจสอบพอร์ตที่เปิดที่เกี่ยวข้องกับแอปได้อีกด้วย วิ่ง lsof -i เพื่อดูรายการแอพพลิเคชั่นที่สื่อสารผ่านอินเทอร์เน็ต โดยทั่วไปนี่คือเป้าหมายเมื่อใช้ netstat บนเครื่อง Windows อย่างไรก็ตาม วิธีเดียวที่มีความหมายในการทำงานนั้นให้สำเร็จบน macOS ไม่ใช่ด้วย netstat แต่ด้วย lsof
Lsof ธงและตัวเลือก
โดยทั่วไปการแสดงไฟล์ที่เปิดอยู่หรือการเชื่อมต่ออินเทอร์เน็ตทุกครั้งจะเป็นแบบละเอียด นั่นเป็นสาเหตุที่ lsof มาพร้อมกับแฟล็กสำหรับการจำกัดผลลัพธ์ด้วยเกณฑ์เฉพาะ สิ่งที่สำคัญที่สุดอยู่ด้านล่าง
หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับธงแต่ละแบบและคำอธิบายทางเทคนิค โปรดดูที่ หน้าคนของ lsof หรือวิ่ง ผู้ชายคนนี้ ที่พรอมต์เทอร์มินัล
เป็นตัวอย่าง
ต่อไปนี้เป็นวิธีการใช้ lsof
lsof -nP -iTCP@lsof.itap:513
คำสั่งที่ดูซับซ้อนนี้แสดงรายการการเชื่อมต่อ TCP ด้วยชื่อโฮสต์ lsof.itap และท่าเรือ 513. นอกจากนี้ยังรัน lsof โดยไม่ต้องเชื่อมต่อชื่อกับที่อยู่ IP และพอร์ต ทำให้คำสั่งทำงานเร็วขึ้นอย่างเห็นได้ชัด
lsof -iTCP -sTCP:ฟัง
คำสั่งนี้ส่งคืนทุกการเชื่อมต่อ TCP พร้อมสถานะ ฟัง ซึ่งเปิดเผยพอร์ต TCP ที่เปิดอยู่บน Mac นอกจากนี้ยังแสดงรายการกระบวนการที่เกี่ยวข้องกับพอร์ตที่เปิดอยู่เหล่านั้นด้วย นี่เป็นการอัพเกรดครั้งสำคัญไปแล้ว เน็ตสแตท ซึ่งแสดงรายการ PID ได้สูงสุด
sudo lsof -i -u^$(whoami)
วิธีรักษาซอมบี้ชาวบ้านในมายคราฟ
คำสั่งเครือข่ายอื่นๆ
คำสั่งเครือข่ายเทอร์มินัลอื่นๆ ที่อาจสนใจในการตรวจสอบเครือข่ายของคุณ ได้แก่ arp , ping และ ipconfig
คำถามที่พบบ่อย