แสดงว่าแอปใด & กระบวนการกำลังใช้การเชื่อมต่ออินเทอร์เน็ตผ่าน Command Line ใน Mac OS X
สารบัญ:
- วิธีแสดงชื่อแอปพลิเคชันและกระบวนการโดยใช้อินเทอร์เน็ตใน Mac OS X
- วิธีแสดงข้อมูลโดยละเอียดสำหรับ Process ID ที่เชื่อมต่อกับอินเทอร์เน็ตจาก Mac OS X
เช่นเดียวกับที่คุณสามารถตรวจสอบการใช้งานระบบไฟล์ของ Mac OS X ผ่านบรรทัดคำสั่ง คุณยังสามารถค้นพบว่าแอพและกระบวนการแต่ละอย่างกำลังใช้การเชื่อมต่ออินเทอร์เน็ตของ Mac ของคุณอยู่ในขณะนี้ นี่เป็นเคล็ดลับที่มีประโยชน์มากหากคุณรู้ว่าแบนด์วิธของคุณกำลังถูกใช้โดยบางสิ่งบางอย่าง หรือหากคุณแค่พยายามติดตามว่าแอปพลิเคชันหรือกระบวนการพื้นหลังใดที่เชื่อมต่อกับโลกภายนอก
เพื่อพิจารณาว่าแอป Mac, daemons, กระบวนการ หรืออะไรก็ตามที่ใช้อินเทอร์เน็ต เราจะหันไปใช้บรรทัดคำสั่งของ Mac OS X และใช้รูปแบบขั้นสูงของ lsof ที่ยอดเยี่ยม สั่งการ. และใช่ วิธีนี้ใช้ได้กับ MacOS หรือ Mac OS X ทุกรุ่น และประเภทการเชื่อมต่ออินเทอร์เน็ตผ่านบริการใดๆ ไม่ว่าจะเป็น wi-fi และเครือข่ายไร้สายหรืออีเธอร์เน็ต และสิ่งนี้ยังใช้ได้กับเครื่อง linux เนื่องจาก lsof เป็นระบบเครือข่ายมาตรฐาน ไบนารีเครื่องมือ
เราจะพูดถึงสองวิธีในการทำเช่นนี้ วิธีแรกให้เอาต์พุตที่อ่านง่าย และจะพิมพ์ชื่อแอปพลิเคชันและกระบวนการที่เชื่อมต่อกับโลกภายนอก และสตริงที่สองจะให้ข้อมูลโดยละเอียดเกี่ยวกับ PID ใดเชื่อมต่อกับโฮสต์ใดและใช้โปรโตคอลใด คุณสามารถใช้อย่างใดอย่างหนึ่งหรือทั้งสองอย่างขึ้นอยู่กับความต้องการเฉพาะของคุณ
วิธีแสดงชื่อแอปพลิเคชันและกระบวนการโดยใช้อินเทอร์เน็ตใน Mac OS X
เปิดแอป Terminal หากคุณยังไม่ได้ดำเนินการ และป้อนคำสั่งต่อไปนี้:
lsof -nPi | ตัด -f 1 -d ">
คุณอาจต้องการคัดลอก/วางสตริงนั้นหากคุณไม่คุ้นเคยกับบรรทัดคำสั่ง เพียงแค่ต้องแน่ใจว่าสตริงทั้งหมดถูกเรียกใช้ในไวยากรณ์บรรทัดเดียว
การรันคำสั่งที่มีความยาวนั้นจะทำให้คุณได้ผลลัพธ์ที่มีลักษณะดังนี้:
SystemUIS Dropbox iChatAgen Finder iTunes Google ssh
เหล่านี้เป็นเพียงชื่อแอปพลิเคชันและกระบวนการของสิ่งที่ใช้งานอินเทอร์เน็ตอยู่ ตอนนี้ เห็นได้ชัดว่าไม่มีข้อมูลมากกว่านี้ แต่ถ้าคุณแค่พยายามติดตามแอปที่ใช้แบนด์วิธหลอกลวง บางครั้งก็เพียงพอสำหรับจุดประสงค์นั้น
แน่นอนว่ามีหลายสถานการณ์ที่ข้อมูลเพิ่มเติมของกระบวนการและ/หรือแอปใดกำลังใช้การเชื่อมต่อเครือข่าย อย่างไร และไปยังที่อยู่ระยะไกลใด และนั่นคือสิ่งที่เราจะกล่าวถึงต่อไป
วิธีแสดงข้อมูลโดยละเอียดสำหรับ Process ID ที่เชื่อมต่อกับอินเทอร์เน็ตจาก Mac OS X
ถ้าคุณต้องการข้อมูลที่ละเอียดมากกว่าที่แสดงในสตริงคำสั่งด้านบน เราสามารถแก้ไขคำสั่งดังกล่าวเพื่อให้เราได้รับข้อมูลดิบเพิ่มเติมจาก lsof โดยการลบไพพ์ไปยังยูทิลิตี้บรรทัดคำสั่งอื่นๆ ทิ้งรายละเอียดที่ไม่ได้รับการขัดเกลาไว้โดยตรงจาก lsof คุณจะสังเกตเห็นว่าฉันตัดแฟล็ก -n ออกเพราะฉันต้องการเห็นชื่อโฮสต์ในเวลานี้:
lsof -Pi
ซึ่งจะให้ข้อมูลที่มีรายละเอียดมากขึ้น รวมถึงชื่อแอป, PID, โปรโตคอล, ที่อยู่ IP, ชื่อโฮสต์ และสถานะปัจจุบันของการเชื่อมต่อ ข้อมูลที่เป็นประโยชน์ทั้งหมด
หากข้อมูลมากเกินไป ให้ลองไพพ์คำสั่งผ่าน 'เพิ่มเติม' เพื่อให้อ่านเป็นกลุ่มได้ง่ายขึ้น หรือใช้ grep เพื่อจัดเรียงข้อมูลสำหรับแอปหรือกระบวนการเฉพาะ เช่น
$ lsof -Pi |grep iChatAgen iChatAgen 228 David 10u IPv4 0x0bfe44ec 0t0 UDP 127.0.0.1:5191->bos-d25v-r2d2.blue.aol.com:5191 iChatAgen 228 David 13u IPv4 0x1e148b1e 0t0 TCP 192.168.1.29:50051->206.198.4.49:5190 (ESTABLISHED)
lsof เป็นยูทิลิตี้ที่ทรงพลังพร้อมการใช้งานมากมาย ฉันได้ครอบคลุมการใช้ lsof เพื่อติดตามปัญหาแบนด์วิดท์เมื่อนานมาแล้ว แต่มันใช้เพียงแฟล็ก -i ซึ่งง่ายกว่ามาก คุณสามารถใช้รูปแบบใดก็ได้ที่ครอบคลุม และแต่ละรูปแบบมีกรณีการใช้งานของตัวเองที่เป็นประโยชน์
เครื่องมือบรรทัดคำสั่งมุ่งเป้าไปที่ผู้ใช้ขั้นสูง แต่ผู้ที่ใหม่กว่าสำหรับ Mac OS X หรือผู้ที่ไม่ชอบ Terminal สามารถใช้แอปเช่น Private Eye เพื่อช่วยดูว่าอะไรกำลังใช้การเชื่อมต่ออินเทอร์เน็ตของ Mac ใน ในลักษณะที่คล้ายกัน แม้ว่าจะเป็นมิตรกับผู้ใช้มากกว่าและใช้งานในแอปพลิเคชัน Mac แบบเดิมทั้งหมด