Bagaimana saya bisa mendaftar port terbuka saya di Debian?

58

Apa perintah untuk menampilkan daftar port terbuka di server Debian?

Saya mencoba netstat -a | egrep 'Proto|LISTEN'tetapi saya ingin sesuatu yang lebih spesifik yang sebenarnya mencantumkan nomor port.

Leonel
sumber

Jawaban:

86
 netstat -pln

-lakan daftar port mendengarkan, -pjuga akan menampilkan proses, -nakan menampilkan nomor port, bukan nama. Tambahkan -tuntuk hanya menampilkan port TCP.

Batu
sumber
12
Agar -pberfungsi dengan benar, Anda harus menjalankan ini sebagai root, jadi sudo netstat -tpln, jika tidak kolom proses tidak akan sangat berguna, kecuali Anda adalah pengguna yang prosesnya mendengarkan pada port yang diberikan.
cjc
21

lsof -i -P

Periksa halaman manual karena lsoftidak ada kekurangan opsi. -Pmendaftar nomor port daripada nama yang diambil dari /etc/servicesRun as root, meskipun, ini akan memberi Anda daftar semua koneksi jaringan yang aktif dan statusnya (mendengarkan, membuat, dll).

Jeff Ferland
sumber
Ini seharusnya jawaban yang benar. Netstat tidak diinstal secara default
José
10

Apa yang hampir semua orang inginkan (TCP dan UDP) adalah netstat -tunlp.

Saya menggunakannya setiap hari, mungkin setiap jam. Peretasan 'lsof' lebih portabel (berfungsi pada Solaris juga), tetapi pada Debian ini bukan paket penting, Anda harus menginstalnya.

zerodeux
sumber
Ya, dan jalankan via sudo.
Martijn Heemels
1
Teman saya mengajari saya untuk mengingat perintah ini dengan nama bunga netstat -tulpenBendera ememberikan informasi tambahan.
Deele
1
Dan sekarang, pada tahun 2018, kotak Debian baru saya tidak memiliki netstattetapi memiliki lsof. :)
Jason
10

Saya penggemar berat netstat -ntlpdan lsof -i, keduanya sudah disebutkan.

Perintah (er) baru bagi saya adalah ss .

Doa itu seperti:

ss -l

Ada baiknya memiliki opsi, dalam hal perintah dan bendera.

dmourati
sumber
1
Pilihannya sangat baik karena wadah buruh pelabuhan mongo (dan mungkin banyak yang lain) memiliki ss tetapi bukan netstat atau lsof
Foon
Saya mulai menggunakan ini sebagai pertanyaan wawancara. Mungkin bertanya pada 40 orang yang berbeda. Sejauh ini belum ada yang menyebutkan ss. Saya bertanya seperti OP, lalu jika mereka menjawab, saya katakan, "ok, saya ambil X, sekarang bagaimana Anda bisa melakukannya." Sampai kehabisan ide.
dmourati
6

Anda dapat melakukan:

netstat -an | egrep 'Proto|LISTEN'

atau hanya:

netstat -anl

yang akan memberi Anda semua soket mendengarkan pada sistem.

Karlson
sumber
2
Ini akan menjadi solusi terbaik (di mana "terbaik" didefinisikan sebagai "bekerja pada rentang sistem terluas" (BSD, Linux, AIX, Solaris, saya percaya HP-UX))
voretaq7
0

TechRepulic memiliki artikel yang layak yang dapat Anda temukan di sini . Ini memiliki beberapa perintah serupa seperti yang Anda sebutkan di atas tetapi juga beberapa variasi. Saya juga sangat merekomendasikan menggunakan nmap untuk melakukan pemindaian port pada komputer yang bersangkutan sehingga Anda dapat melihat dari perspektif eksternal port apa yang terbuka dan mendengarkan.

Eric
sumber
Bisakah Anda memberi tahu saya mengapa ini tidak dipilih? Karena saya hanya menyediakan tautan dengan banyak solusi di atas yang disetujui bersama dengan perspektif berbeda dalam melakukan pemindaian eksternal juga. Terima kasih.
Eric
8
Saya tidak downvote, tetapi pada serverfault seperti kebanyakan stack-exchange, kami biasanya mengharapkan Anda untuk memberikan jawabannya di sini, dan bukan hanya tautan ke tempat lain. Tautan hilang seiring waktu, tetapi kami ingin konten di SF tetap bernilai saat tautan mati.
Zoredache
Satu-satunya baris kode yang memiliki tautan artikel di atas adalah yang sudo nmap -T4 -A -v 192.168.1.1/24lainnya adalah lakukan ini - lakukan tanpa detail ... Seperti membaca sampul belakang sebuah buku - banyak kata tanpa daging.
KingsInnerSoul
0

Mendengarkan port tidak sama dengan port yang terbuka dari luar. Anda perlu mempertimbangkan firewall. Jika Anda mencoba program seperti nmapdari komputer lain maka Anda akan dapat melihat port terbuka yang tidak diblokir oleh firewall.

Niklas Rosencrantz
sumber
0

Saya lebih suka menggunakan:

netstat -antp 
lsof -i 
netstat -lptu
netstat -tulpn
XsiSec
sumber