sumber
Salah satu alternatif adalah penggunaan lsof
utilitas; khusus, lsof -i 4tcp
akan mencantumkan semua proses dengan semacam soket jaringan TCP IPv4 terbuka. Halaman manual lsof
akan memberi Anda informasi terperinci tentang cara menggunakan utilitas dan cara menafsirkan output.
Jika Anda tertarik pada port tertentu, Anda dapat menggunakan contoh ini:
lsof -i 4tcp:8080 -sTCP:LISTEN
Jika Anda hanya ingin mendapatkan id proses, Anda dapat menjalankan ini:
lsof -i 4tcp:8080 -sTCP:LISTEN -Fp
Saya menggunakan perintah di bawah ini ketika saya ingin melihat semua yang ada di port tertentu untuk TCP atau UDP. The -n
pilihan menonaktifkan mencoba untuk menyelesaikan alamat IP ke nama domain, dan -P
Menonaktifkan mencoba untuk mencari tahu nama port tertentu. Juga, menjalankan seperti root
akan menunjukkan lebih banyak proses daripada menjalankan sebagai pengguna normal.
sudo lsof -iTCP:53 -iUDP:53 -n -P
Contoh kode berikut mencantumkan semua server TCP yang berjalan pada mesin OSX lokal Anda:
netstat -a -Ptcp | egrep 'tcp4.*LISTEN'
tcp4 0 0 127.0.0.1.2022 *.* LISTEN 0 0
tcp4 0 0 *.3141 *.* LISTEN 0 0
LISTEN
hanya menunjukkan soket yang mendengarkan koneksi. Yaitu, server.
Baris pertama menunjukkan server terikat localhost
, alias 127.0.0.1
, port 2022
. Ini akan menjawab permintaan lokal, tetapi bukan permintaan berbasis Internet.
Baris kedua adalah server yang terikat ke semua alamat, yaitu *
port 3141
. Ini akan menjawab pertanyaan Internet.
Untuk mendaftar port yang digunakan oleh klien dan server, gunakan yang berikut ini:
netstat -an -Ptcp | grep tcp4
netstat
pada host berbasis BSD tidak mencantumkan informasi proses ... yang merupakan pertanyaan.Ini harus dimungkinkan di jendela terminal menggunakan perintah Netstat .
Dan jika Anda lebih menyukai GUI:
sumber