Apa yang Perlu Diketahui
- Untuk menjalankan netstat dan melihat data terperinci tentang rangkaian Mac anda, buka tetingkap Terminal baharu, taip netstat dan tekanEnter.
- Hadkan output netstat dengan bendera dan pilihan. Untuk melihat pilihan netstat yang tersedia, taip man netstat pada command prompt.
- Gunakan perintah lsof untuk menggantikan fungsi netstat yang hilang atau terhad, termasuk memaparkan mana-mana fail yang sedang dibuka dalam mana-mana apl.
Artikel ini menerangkan cara menjalankan perintah Terminal netstat dalam macOS supaya anda boleh melihat maklumat terperinci tentang komunikasi rangkaian Mac anda, termasuk cara Mac anda bercakap dengan dunia luar, merentas semua port dan semua aplikasi.
Cara Menjalankan Netstat
Mempelajari cara menggunakan netstat boleh membantu anda memahami sambungan yang dibuat oleh komputer anda dan sebabnya. Perintah netstat tersedia pada Mac secara lalai. Anda tidak perlu memuat turun atau memasangnya.
Untuk menjalankan netstat:
-
Pergi ke Pencari > Pergi > Utiliti.
-
Klik dua kali Terminal.
-
Dalam tetingkap Terminal baharu, taipkan netstat dan tekan Return (atau Enter) untuk melaksanakan arahan.
-
Sejumlah besar teks akan mula menatal pada skrin anda. Jika anda tidak menggunakan mana-mana bendera yang tersedia (lihat di bawah), netstat melaporkan sambungan rangkaian aktif pada Mac anda. Memandangkan bilangan fungsi yang dilakukan oleh peranti rangkaian moden, anda boleh menjangkakan senarai itu panjang. Laporan standard boleh menjalankan lebih daripada 1, 000 baris.
Bendera dan Pilihan Netstat
Menapis output netstat adalah penting untuk memahami perkara yang berlaku pada port aktif Mac anda. Bendera terbina dalam Netstat membolehkan anda menetapkan pilihan, mengehadkan skop arahan.
Untuk melihat semua pilihan netstat yang tersedia, taip man netstat pada gesaan arahan untuk mendedahkan halaman man netstat (singkatan dari "manual"). Anda juga boleh melihat versi dalam talian halaman manual netstat.
Sintaks
Adalah penting untuk ambil perhatian bahawa netstat pada macOS tidak berfungsi dengan cara yang sama seperti netstat pada Windows dan Linux. Menggunakan bendera atau sintaks daripada pelaksanaan netstat tersebut mungkin tidak menghasilkan gelagat yang diharapkan.
Untuk menambah bendera dan pilihan pada netstat pada macOS, gunakan sintaks berikut:
netstat [-AabdgiLlmnqrRsSvWx] [-c baris gilir] [-f address_family] [-I antara muka] [-p protokol] [-w tunggu]
Jika trengkas di atas kelihatan tidak dapat difahami sepenuhnya, pelajari cara membaca sintaks arahan.
Bendera Berguna
Berikut ialah beberapa bendera yang paling biasa digunakan:
- - a termasuk port pelayan dalam output netstat, yang tidak termasuk dalam output lalai.
- - g memaparkan maklumat yang dikaitkan dengan sambungan multicast.
- - I menyediakan data paket untuk antara muka yang ditentukan. Semua antara muka yang tersedia boleh dilihat dengan bendera - i, tetapi en0 lazimnya ialah antara muka rangkaian keluar lalai. (Perhatikan huruf kecil.)
- - n menyekat label alamat jauh dengan nama. Ini mempercepatkan output netstat sambil menghapuskan maklumat terhad sahaja.
- - p menyenaraikan trafik yang dikaitkan dengan protokol rangkaian tertentu. Senarai penuh protokol tersedia di /etc/protocols, tetapi yang paling penting ialah udp dan tcp.
- - r memaparkan jadual penghalaan, menunjukkan cara paket dihalakan di sekitar rangkaian.
- - s menunjukkan statistik rangkaian untuk semua protokol, sama ada protokol itu aktif atau tidak.
- - v meningkatkan verbositi, khususnya dengan menambahkan lajur yang menunjukkan ID proses (PID) yang dikaitkan dengan setiap port terbuka.
Antara muka
Protokol
Contoh Netstat
Pertimbangkan contoh berikut:
netstat -apv TCP
Arahan ini hanya mengembalikan sambungan TCP pada Mac anda, termasuk port terbuka dan port aktif. Ia juga menggunakan output verbose, menyenaraikan PID yang dikaitkan dengan setiap sambungan.
netstat -a | grep -i "mendengar"
Gabungan netstat dan grep ini mendedahkan port terbuka, yang merupakan port yang mendengar mesej. Aksara paip | menghantar output satu arahan kepada arahan lain. Di sini, output netstat paip ke grep, membolehkan anda mencari kata kunci "dengar" dan mencari hasilnya.
Mengakses Netstat Melalui Utiliti Rangkaian
Anda juga boleh mengakses beberapa fungsi netstat melalui apl Utiliti Rangkaian, yang disertakan dalam versi macOS sehingga Catalina (ia tidak termasuk dalam Big Sur).
Untuk pergi ke Utiliti Rangkaian, taip Utiliti Rangkaian ke dalam Carian Spotlight untuk melancarkan apl, kemudian pilih tab Netstat untuk mengakses antara muka grafik.
Pilihan dalam Utiliti Rangkaian adalah lebih terhad daripada yang tersedia melalui baris arahan. Setiap satu daripada empat pilihan butang radio menjalankan perintah netstat pratetap dan memaparkan output.
Arahan netstat untuk setiap butang radio adalah seperti berikut:
- Maklumat jadual penghalaan paparan berjalan netstat -r.
- Paparkan statistik rangkaian komprehensif untuk setiap protokol berjalan netstat -s.
- Memaparkan maklumat berbilang siaran berjalan netstat -g.
- Paparkan keadaan semua sambungan soket semasa berjalan netstat.
Melengkapkan Netstat Dengan Lsof
Pelaksanaan macOS netstat tidak termasuk banyak fungsi yang diharapkan dan diperlukan oleh pengguna. Walaupun ia mempunyai kegunaannya, netstat tidak begitu berguna pada macOS seperti pada Windows. Perintah yang berbeza, lsof, menggantikan kebanyakan fungsi yang hilang.
Lsof memaparkan fail yang sedang dibuka dalam apl. Anda juga boleh menggunakannya untuk memeriksa port terbuka yang berkaitan dengan aplikasi. Jalankan lsof -i untuk melihat senarai aplikasi yang berkomunikasi melalui Internet. Ini biasanya matlamat apabila menggunakan netstat pada mesin Windows; walau bagaimanapun, satu-satunya cara yang bermakna untuk menyelesaikan tugas itu pada macOS bukan dengan netstat, tetapi dengan lsof.
Lsof Bendera dan Pilihan
Memaparkan setiap fail atau sambungan Internet yang terbuka biasanya bertele-tele. Itulah sebabnya lsof datang dengan bendera untuk menyekat hasil dengan kriteria tertentu. Yang paling penting ada di bawah.
Untuk mendapatkan maklumat tentang lebih banyak bendera dan penjelasan teknikal setiap satu, lihat halaman manual lsof atau jalankan man lsof pada gesaan Terminal.
- - i memaparkan sambungan rangkaian terbuka dan nama proses yang menggunakan sambungan. Menambah 4, seperti dalam - i4, hanya memaparkan sambungan IPv4. Menambahkan 6 sebaliknya (- i6) hanya memaparkan sambungan IPv6.
- Bendera - i juga boleh dikembangkan untuk menentukan butiran lanjut. -iTCP atau -iUDP hanya mengembalikan sambungan TCP dan UDP. -iTCP:25 hanya mengembalikan sambungan TCP pada port 25. Julat port boleh ditentukan dengan sempang, kerana ia -iTCP:25-50.
- Menggunakan [email protected] hanya mengembalikan sambungan ke alamat IPv4 1.2.3.4. Alamat IPv6 boleh ditentukan dengan cara yang sama. Prekursor @ juga boleh digunakan untuk menentukan nama hos dengan cara yang sama, tetapi kedua-dua alamat IP jauh dan nama hos tidak boleh digunakan serentak.
- - s biasanya memaksa lsof untuk memaparkan saiz fail. Tetapi apabila dipasangkan dengan bendera - i, - s berfungsi secara berbeza. Sebaliknya, ia membenarkan pengguna menentukan protokol dan status untuk arahan itu dikembalikan.
- - p mengehadkan lsof kepada ID proses tertentu (PID). PID berbilang boleh ditetapkan dengan menggunakan commons, seperti -p 123, 456, 789. ID Proses juga boleh dikecualikan dengan ^, seperti dalam 123, ^456, yang secara khusus akan mengecualikan PID 456.
- - P melumpuhkan penukaran nombor port kepada nama port, mempercepatkan output.
- - n melumpuhkan penukaran nombor rangkaian kepada nama hos. Apabila digunakan dengan - P di atas, ia boleh mempercepatkan output lsof dengan ketara.
- - u pengguna hanya mengembalikan arahan yang dimiliki oleh pengguna yang dinamakan.
lsof Contoh
Berikut ialah beberapa cara untuk menggunakan lsof.
lsof -nP [email protected]:513
Arahan yang kelihatan kompleks ini menyenaraikan sambungan TCP dengan nama hos lsof.itap dan port 513. Ia juga berjalan lsof tanpa menyambungkan nama ke alamat IP dan port, menjadikan arahan berjalan dengan ketara lebih pantas.
lsof -iTCP -sTCP:LISTEN
Arahan ini mengembalikan setiap sambungan TCP dengan status LISTEN, mendedahkan port TCP terbuka pada Mac. Ia juga menyenaraikan proses yang berkaitan dengan port terbuka tersebut. Ini merupakan peningkatan ketara ke atas netstat, yang menyenaraikan paling banyak PID.
sudo lsof -i -u^$(whoami)
Perintah Rangkaian Lain
Perintah rangkaian Terminal lain yang mungkin menarik minat untuk memeriksa rangkaian anda termasuk arp, ping dan ipconfig.