แสดงว่าแอปและกระบวนการใดใช้การเชื่อมต่ออินเทอร์เน็ตผ่านทางบรรทัดคำสั่งใน OS X

คุณสามารถตรวจสอบการใช้งานระบบแฟ้ม Mac OS X ผ่านทางบรรทัดคำสั่งได้เช่นเดียวกับที่คุณสามารถดูว่าปพลิเคชันและกระบวนการส่วนบุคคลกำลังใช้การเชื่อมต่ออินเทอร์เน็ตของ Macs อยู่ในขณะนี้ นี่เป็นเคล็ดลับที่มีประโยชน์มากหากคุณรู้ว่าแบนด์วิธของคุณกำลังถูกใช้โดยบางอย่างหรือถ้าคุณเพิ่งพยายามติดตามว่าแอพพลิเคชันหรือกระบวนการพื้นหลังใดที่เชื่อมต่อกับโลกภายนอก


ในการตรวจสอบว่าแอพพลิเคชัน Mac, daemon, process หรือสิ่งอื่นใดกำลังใช้อินเทอร์เน็ตอยู่เราจะหันไปใช้บรรทัดคำสั่งของ OS X และใช้รูปแบบขั้นสูงของคำสั่ง lsof ที่ดีกว่า และใช่จะใช้งานได้กับประเภทการเชื่อมต่ออินเทอร์เน็ตผ่านบริการใด ๆ ไม่ว่าจะเป็น Wi-Fi และระบบเครือข่ายไร้สายหรืออีเทอร์เน็ตและจะทำงานบนเครื่องลินุกซ์เนื่องจาก lsof เป็นเครื่องมือเครือข่ายแบบมาตรฐาน

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

แสดงชื่อแอพพลิเคชันและกระบวนการใช้อินเทอร์เน็ตใน Mac OS X

เปิดแอป Terminal หากคุณยังไม่ได้ดำเนินการดังกล่าวแล้วป้อนคำสั่งต่อไปนี้:

lsof -nPi | cut -f 1 -d " "| uniq | tail -n +2

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

การรันคำสั่งที่ยาวเกินไปจะทำให้ผลลัพธ์ของคุณมีลักษณะเช่นนี้:

SystemUIS
Dropbox
iChatAgen
Finder
iTunes
Google
ssh

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

แน่นอนว่ามีหลายกรณีที่มีข้อมูลเพิ่มเติมเกี่ยวกับกระบวนการและ / หรือแอปที่ใช้การเชื่อมต่อเครือข่ายวิธีและที่อยู่ระยะไกลและนั่นคือสิ่งที่เราจะกล่าวถึงต่อไป

แสดงข้อมูลโดยละเอียดสำหรับรหัสกระบวนการเชื่อมต่ออินเทอร์เน็ตจาก Mac OS X

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

lsof -Pi

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

หากเป็นข้อมูลที่มากเกินไปให้ลองสั่งคำสั่งผ่าน "more" เพื่อให้สามารถอ่านได้ง่ายขึ้นหรือใช้ 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-flag ซึ่งง่ายขึ้นอย่างมาก คุณสามารถใช้รูปแบบต่างๆที่ครอบคลุมและแต่ละกรณีมีการใช้งานของตัวเองซึ่งอาจมีประโยชน์

เครื่องมือบรรทัดคำสั่งมีจุดมุ่งหมายเพื่อผู้ใช้ขั้นสูง แต่ผู้ที่ใหม่กว่าสำหรับ Mac OS X หรือผู้ที่ไม่ชอบ Terminal ก็สามารถใช้แอพพลิเคชันเช่น Private Eye เพื่อช่วยดูว่ามีอะไรใช้การเชื่อมต่ออินเทอร์เน็ตของ Macs ในลักษณะที่คล้ายคลึงกันแม้ว่าผู้ใช้จะเป็นมิตรมากขึ้น และทั้งหมดในโปรแกรม Mac แบบดั้งเดิม