Skip to main content

Bagaimana Menggunakan Perintah Netstat di Mac

cara tracert ip address atau domain (April 2025)

cara tracert ip address atau domain (April 2025)
Anonim

Perintah netstat pada macOS ialah arahan Terminal yang digunakan untuk memaparkan maklumat terperinci tentang komunikasi rangkaian Mac anda. Komunikasi rangkaian termasuk semua cara Mac anda bercakap dengan dunia luar, merentas semua pelabuhan dan semua aplikasi. Selepas menguasai netstat, pengguna Mac dapat dengan cepat memahami sambungan yang dibuat oleh komputer mereka dan mengapa.

Running Netstat

Perintah netstat tersedia pada Mac secara lalai. Ia tidak perlu dimuat turun atau dipasang.

Untuk menjalankan netstat, buka tetingkap Terminal. Sekiranya anda tidak biasa dengan Terminal, didapati di /Applications/Utilities/Terminal.app. Taipkan netstat dan tekan Enter untuk melaksanakan arahan.

Anda akan melihat sejumlah besar teks cryptic akan mula menatal oleh pada skrin anda. Ini adalah perkara biasa dan diharapkan. Tanpa sebarang pilihan tambahan, netstat akan melaporkan semua sambungan rangkaian aktif pada Mac anda. Memandangkan bilangan fungsi yang dilakukan oleh peranti rangkaian moden, anda boleh mengharapkan senarai itu panjang. Laporan netstat standard boleh berjalan lebih dari 1000 baris.

Menapis output netstat adalah penting untuk memahami apa yang berlaku di pelabuhan aktif Mac anda. Anda boleh menapis output netstat dengan bendera terbina dalam. Bendera ini membolehkan anda menetapkan pilihan, mengehadkan skop dan output netstat.

Bendera dan Pilihan Netstat

Untuk melihat semua pilihan yang tersedia netstat, taipkan netstat lelaki pada prompt arahan. Ini akan mendedahkan laman web netstat. Anda juga boleh melihat versi dalam talian lelaki netstat.

netstat -AabdgiLlmnqrRsSvWx -c beratur -f address_family -I antara muka -p protokol -w tunggu

Netstat pada macOS tidak berfungsi dengan cara yang sama seperti netstat pada Windows atau netstat di Linux. Menggunakan bendera atau sintaks daripada pelaksanaan netstat tidak boleh menyebabkan kelakuan yang diharapkan.

Petua: Jika skenario di atas kelihatan benar-benar tidak dapat difahami, pelajari cara membaca sintaks arahan.

-r memaparkan jadual laluan, menunjukkan bagaimana paket dialihkan di rangkaian.

-p protokol menyenaraikan lalu lintas yang berkaitan dengan protokol rangkaian tertentu. Walaupun senarai lengkap protokol boleh didapati di / etc / protocols, yang lebih penting ialah udp dan tcp.

-v meningkatkan kelonggaran, khususnya dengan menambah lajur yang menunjukkan proses ID (PID) yang dikaitkan dengan setiap port terbuka.

-I antara muka menyediakan data paket untuk antara muka yang ditentukan. Semua antara muka yang ada boleh dilihat dengan bendera -i, tetapi en0 biasanya antara muka rangkaian lalai yang keluar. Perhatikan huruf kecil.

-g memaparkan maklumat yang berkaitan dengan sambungan multicast.

-s menunjukkan statistik rangkaian untuk semua protokol, sama ada ia aktif atau tidak.

-n menekan berlabel alamat jauh dengan nama. Ini secara dramatik mempercepatkan pengeluaran netstat sementara hanya mengorbankan maklumat terhad.

-a termasuk port pelayan dalam output netstat, yang tidak termasuk dalam output lalai.

Contoh Netstat

Untuk memahami kefahaman kita, mari kita lihat beberapa contoh netstat.

netstat -apv TCP

Perintah ini hanya akan mengembalikan sambungan TCP pada Mac anda, termasuk pelabuhan terbuka dan port aktif. Ia juga akan menggunakan output verbose, menyenaraikan PID yang berkaitan dengan setiap sambungan.

netstat -a | grep -i "dengar"

Gabungan netstat dan grep ini akan mendedahkan pelabuhan terbuka pada Mac anda. Pelabuhan terbuka adalah pelabuhan yang mendengar mesej. Jika anda tidak biasa dengan sintaks, watak paip | digunakan untuk menghantar output satu arahan ke arahan lain. Kami paip output netstat ke grep, yang membolehkan kami mencarinya untuk kata kunci "mendengar" dan mencari keputusan kami.

Mengakses netstat melalui Utiliti Rangkaian

Sebagai tambahan kepada penggunaan penuh ciri melalui antara muka baris perintah Terminal, beberapa fungsi netstat juga boleh diakses melalui aplikasi Utiliti Rangkaian. Aplikasi macOS terbina dalam ini boleh didapati di / Aplikasi / Utiliti / Rangkaian Utility.app. Buka aplikasi dan klik pada Netstat tab untuk mengakses antara muka grafik untuk netstat.

Pilihan dalam Utiliti Rangkaian jelas jauh lebih terhad daripada yang tersedia melalui baris arahan. Pilihan empat pilihan radio hanya menjalankan arahan netstat pratetap dan memaparkan output pada skrin di bawah.

Perintah netstat untuk setiap butang radio adalah seperti berikut:

  • Papar maklumat jadual laluan berjalan netstat -r
  • Paparkan statistik rangkaian komprehensif untuk setiap protokol menjalankan netstat -s
  • Paparkan maklumat multicast berjalan netstat -g
  • Paparkan keadaan semua sambungan soket semasa menjalankan netstat

Menambah netstat dengan lsof

Faktanya ialah pelaksanaan macOS netstat tidak termasuk kebanyakan fungsi pengguna yang diharapkan dan perlu. Walaupun ia mempunyai kegunaannya, netstat tidak begitu berguna pada macOS kerana ia berada di Windows. Perintah yang berbeza, lsof, boleh menggantikan banyak fungsi yang hilang.

lsof memaparkan sebarang fail yang kini dibuka oleh mana-mana aplikasi. Ini juga boleh digunakan untuk memeriksa pelabuhan terbuka yang berkaitan dengan aplikasi. Jalankan lsof -i, dan anda akan melihat senarai semua aplikasi yang berkomunikasi melalui internet. Ini biasanya menjadi matlamat apabila menggunakan netstat pada mesin Windows. Walau bagaimanapun, satu-satunya cara yang bermakna untuk mencapai tugas itu pada macOS bukan dengan netstat, tetapi dengan lsof.

Memaparkan setiap fail terbuka atau sambungan internet sering terlalu berlebihan.Itulah sebabnya lsof datang dengan sejumlah bendera untuk menyekat keputusan dengan kriteria tertentu. Terdapat banyak bendera berguna yang meluaskan utiliti arahan. Yang paling penting adalah di bawah. Untuk bacaan tambahan, termasuk lebih banyak bendera dan penjelasan teknikal mengenai pelaksanaan setiap bendera, periksa halaman lelaki lsof atau lari lelaki lsof pada permulaan Terminal.

bendera dan pilihan lsof

-i memaparkan semua sambungan rangkaian terbuka dan nama proses yang menggunakan sambungan. Menambah 4, seperti dalam -i4, akan memaparkan hanya sambungan IPv4. Menambah 6 sebaliknya (-i6) akan memaparkan hanya sambungan IPv6.

The -i bendera juga boleh diperluaskan untuk menentukan butiran lanjut. -iTCP atau -iUDP hanya akan mengembalikan sambungan TCP dan UDP. -iTCP: 25 hanya akan mengembalikan sambungan TCP pada port 25. Pelbagai port boleh ditentukan dengan sengkang, kerana ia -iTCP: 25-50.

Menggunakan [email protected] akan kembali hanya sambungan ke alamat IPv4 1.2.3.4. Alamat IPv6 boleh ditentukan mengikut cara yang sama. @ Prekursor juga boleh digunakan untuk menentukan nama host dengan cara yang sama, tetapi kedua-dua alamat IP dan nama host jauh tidak boleh digunakan serentak.

-s biasanya memaksa lsof untuk memaparkan saiz fail. Tetapi apabila dipasangkan dengan -i bendera, -s berfungsi dengan berbeza. Sebaliknya, ia membenarkan pengguna menentukan protokol dan status bagi arahan untuk kembali.

-p mengehadkan lsof ke ID proses tertentu (PID). PID berbilang boleh ditetapkan menggunakan commons, seperti -p 123,456,789. ID proses juga boleh dikecualikan dengan ^, seperti dalam 123, ^ 456, yang secara khusus tidak boleh mengecualikan PID 456.

-P melumpuhkan penukaran nombor port ke nama pelabuhan, mempercepatkan output.

-n melumpuhkan penukaran nombor rangkaian ke nama hos. Apabila digunakan dengan -P di atas, ia dapat mempercepatkan pengeluaran lsof dengan ketara.

-u pengguna hanya mengembalikan arahan yang dimiliki oleh pengguna bernama.

Contohnya

Seperti netstat, melihat beberapa contoh lsof akan membantu mengamalkan pemahaman kita.

lsof -nP [email protected]: 513

Perintah mencari kompleks ini akan menyenaraikan semua sambungan TCP dengan nama hos lsof.itap dan pelabuhan 513. Ia juga akan menjalankan lsof tanpa menyambungkan nama ke alamat IP dan port, menjadikan arahan berjalan dengan nyata lebih cepat.

lsof -iTCP -TCP: DENGAR

Ini akan mengembalikan setiap sambungan TCP dengan status DENGARKU. Ini mendedahkan semua port TCP terbuka pada Mac anda. Ia juga menyenaraikan proses yang berkaitan dengan port-port yang terbuka. Ini adalah penambahbaikan yang ketara ke atas netstat, yang menyenaraikan PIDs paling banyak.

sudo lsof -i -u ^ $ (whoami)

Mengembalikan semua sambungan tidak dimiliki oleh pengguna yang log masuk sekarang. Perintah ini sedikit berbeza daripada yang lain, jadi kami akan memecahnya secara terperinci.

Caret ^ digunakan untuk penolakan. Apa-apa sahaja yang sepadan dengan teks selepas caret akan dikeluarkan dari hasilnya. Kami mendapat nama pengguna yang dilog masuk sekarang dengan menjalankan siapakah saya di dalam perintah lsof, dikelilingi oleh $() untuk membiarkan lsof mengakses outputnya sebagai teks. Berjalan dengan sudo membolehkan anda melihat tugas yang tidak dimiliki oleh diri sendiri. Menjalankan perintah ini tanpa sudo akan mengembalikan senarai kosong.

Perintah Rangkaian Lain

Perintah rangkaian Terminal lain yang mungkin menarik untuk memeriksa rangkaian anda termasuk arp, ping, dan ipconfig.