Daftar semua Koneksi Internet Terbuka pada Mac dari Terminal untuk Melacak Masalah Bandwidth
Baru-baru ini LAN di kantor saya telah berjalan lebih lambat dari biasanya, dan saya tidak dapat menentukan apa yang menggunakan semua bandwidth ekstra. Saya memiliki kecurigaan bahwa lalu lintas P2P harus disalahkan tetapi saya tidak bisa melihat sesuatu yang jelas pada mesin yang menyinggung. Jadi pertanyaannya tentu saja, adalah bagaimana Anda melihat proses apa yang terhubung ke internet atau dunia luar dari Mac OS X?
Dengan menggunakan alat baris perintah lsof, kita dapat meneruskan argumen -i ke daftar hanya koneksi internet aktif dan terbuka pada Mac kita, dan kita dapat mengetahui apakah ada sesuatu yang aneh (atau dalam kasus saya, sesuatu yang tersembunyi) yang terjadi dan terhubung ke alamat luar, dan, perintah ini juga akan menunjukkan kepada Anda apa ID proses dari aplikasi atau tugas yang melanggar, sehingga kita dapat membunuhnya dan menghentikan aktivitas jika diinginkan.
Menampilkan Daftar Semua Koneksi Internet Terbuka di OS X dari Command Line
Ini harus dimasukkan dari Terminal OS X, tetapi dapat digunakan dari jarak jauh dengan SSH atau lokal di Mac.
Saya masuk ke Mac yang mengganggu dan mengetik perintah berikut:
lsof -i
Anda tidak perlu menggunakan sudo tetapi Anda dapat jika diinginkan atau diperlukan untuk kasus penggunaan khusus Anda.
Output dari lsof adalah sedikit sibuk tetapi jika Anda terbiasa dengan baris perintah seharusnya tidak menjadi sesuatu yang terlalu gila.
Berikut ini contoh hasil yang ditampilkan oleh string perintah lsof -i ini:
MacMini:~ macuser$ lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
SystemUIS 93 macuser 6u IPv4 0x04db27bc 0t0 UDP *:*
SystemUIS 93 macuser 10u IPv4 0x04db26e0 0t0 UDP *:*
iChatAgen 111 macuser 6u IPv4 0x07084734 0t0 UDP localhost:49490->localhost:49490
iChatAgen 111 macuser 10u IPv4 0x05666f28 0t0 TCP 192.168.0.101:53762->bos-m012c-sdr6.blue.aol.com:aol (ESTABLISHED)
synergys 129 macuser 5u IPv4 0x05f2f6b0 0t0 TCP *:24800 (LISTEN)
Safari 148 macuser 10u IPv4 0x06db46e0 0t0 TCP 192.168.0.101:57557->host29.prod.google.com:http (CLOSE_WAIT)
iTunes 644 macuser 21u IPv4 0x05f2f2a4 0t0 TCP *:daap (LISTEN)
Dalam tampilan output lsof di atas tidak ada yang tidak biasa, tetapi dalam pemecahan masalah jaringan saya yang disebutkan di atas, saya menemukan klien BitTorrent yang berjalan tersembunyi di latar belakang salah satu jaringan saya Mac, dan itu menyemai beberapa file besar! Secara alami saya membunuh klien BitTorrent, menghapus aplikasi, menghapus file, dan Mac LAN berjalan dengan kecepatan penuh lagi.
Mendaftarkan Hanya Koneksi Internet Yang Sudah Ada
Jika Anda kebetulan hanya ingin menampilkan koneksi yang sudah ada (artinya mereka berkomunikasi secara aktif dan tautan telah dibuat antara mesin lokal dan IP luar), Anda dapat menggunakan variasi perintah ini dari string lsof yang disebutkan di atas:
lsof -i | grep -E "(LISTEN|ESTABLISHED)"
Anda dapat menggabungkan ini dengan 'watch' untuk mendapatkan daftar koneksi yang sudah diperbarui secara otomatis juga.
Dan jika Anda tahu nama prosesnya, Anda selalu dapat menggunakan grep untuk nama yang spesifik atau tidak jelas itu juga.
Ini agak canggih, tetapi bekerja cukup baik untuk pengguna Mac yang merasa nyaman dengan terminal dan baris perintah pada umumnya. Lebih banyak pengguna Mac pemula dapat menggunakan Private Eye untuk memonitor koneksi internet dan jaringan di OS X, yang merupakan aplikasi pihak ketiga gratis namun sangat baik yang berjalan di antarmuka pengguna grafis dan sedikit lebih mudah untuk mengurai, terutama jika Anda tidak berpengalaman dengan terminal.