Port apa yang digunakan program tertentu? [Tutup]

99

Saya ingin mengetahui port apa yang digunakan program tertentu. Apakah ada program yang tersedia online atau yang datang dengan windows yang akan memberi tahu saya proses mana yang menggunakan port mana di komputer saya?

PS - sebelum Anda men-download ini karena bukan pertanyaan pemrograman, saya sedang mencari program untuk menguji beberapa kode jaringan.

AlexeyMK
sumber
7
Terlepas dari apakah Anda akan menggunakan ini sebagai bagian dari beberapa proyek pemrograman, itu bukan masalah pemrograman.
Balapan Ringan di Orbit

Jawaban:

149

netstat -b -amencantumkan port yang digunakan dan memberi Anda file yang dapat dieksekusi yang menggunakan masing-masing port. Saya yakin Anda harus berada di grup administrator untuk melakukan ini, dan saya tidak tahu implikasi keamanan apa yang ada di Vista.

Saya biasanya menambahkan -njuga untuk membuatnya sedikit lebih cepat, tetapi menambahkan -bdapat membuatnya sangat lambat.

Sunting : Jika Anda membutuhkan lebih banyak fungsionalitas daripada yang disediakan netstat, vasac menyarankan Anda mencoba TCPView .

Graeme Perrow
sumber
1
Jika ada yang memiliki hak untuk mengedit jawaban, pertimbangkan untuk menambahkan jawaban vasac di bawah (TCPView) untuk siapa saja yang membutuhkan versi yang lebih lengkap dari ini dengan gui nyata
AlexeyMK
Saya menambahkan tautan ke TCPView ke jawaban saya.
Graeme Perrow
1
apakah ada cara dengan firewall?
Mohammad Kermani
42

TCPView dapat melakukan apa yang Anda minta.

vasac
sumber
1
Terima kasih; netstat lebih dari cukup untuk kebutuhan saya tetapi jika saya membutuhkan sesuatu yang lebih hardcore, saya pasti akan menggunakan TCPView. Harus ditambahkan ke jawaban yang diterima tetapi sayangnya saya belum memiliki hak untuk mengedit.
AlexeyMK
Saya telah menggunakan utilitas Netstat yang disertakan dengan XAMPP. Tetapi utilitas mandiri ini jauh lebih berguna. Terima kasih.
Shiyaz
25

Di Vista, Anda memang membutuhkan hak yang lebih tinggi untuk menggunakan opsi -b dengan netstat. Untuk menyiasatinya, Anda bisa menjalankan "netstat -ano" yang akan menampilkan semua port terbuka bersama dengan id proses terkait. Anda kemudian dapat menggunakan daftar tugas untuk mencari proses mana yang memiliki id yang sesuai.

C:\>netstat -ano

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  ...
  TCP    [::]:49335             [::]:0                 LISTENING       1056
  ...

C:\>tasklist /fi "pid eq 1056"

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
sqlservr.exe                  1056 Services                   0     66,192 K
Jim Olsen
sumber
13

Anda mungkin sudah menginstal Process Explorer (dari Sysinternals, sekarang menjadi bagian dari Microsoft). Jika tidak, lanjutkan dan instal sekarang - sangat keren.

Di Process Explorer: temukan proses yang dimaksud, klik kanan dan pilih tab TCP / IP. Ia bahkan akan menunjukkan kepada Anda, untuk setiap soket, jejak tumpukan yang mewakili kode yang membuka soket itu.

Adam Mitz
sumber
7

Jika Anda lebih suka antarmuka GUI, CurrPorts gratis dan berfungsi dengan semua versi windows. Menunjukkan port dan proses apa yang membukanya.

ctcherry.dll
sumber
alternatif bagus lainnya. wow, tidak tahu ini topik yang populer :)
AlexeyMK
5

"netstat -natp" adalah yang selalu saya gunakan.

Steve Baker
sumber
4

Windows 8 (dan kemungkinan 7 + Vista) juga menyediakan tampilan di Resource Monitor. Jika Anda memilih tab Network, ada bagian bernama 'Listening Ports'. Dapat mengurutkan berdasarkan nomor port, dan melihat proses mana yang menggunakannya.

Mikezx6r
sumber
persis apa yang saya butuhkan, 10x!
soninob
3

Windows dilengkapi dengan netstatutilitas, yang seharusnya melakukan apa yang Anda inginkan.

Adam Rosenfield
sumber
1

Pada baris perintah, netstat -a akan memberi Anda banyak info.

CodeRot
sumber
Saya akan memilih ini jika saya memiliki sisa suara.
UnkwnTech
-1: -a tidak memberikan ID proses
CharlesB
@CharlesB Itu dilakukan jika Anda menambahkan -oopsi.
Marquis dari Lorne
1

Anda dapat menggunakan perintah 'netstat' untuk ini. Ada penjelasan untuk melakukan hal semacam ini di sini .

tkerwin
sumber
-1

sebagian besar program firewall yang layak memungkinkan Anda untuk mengakses informasi ini. Saya tahu bahwa Agnitum OutpostPro Firewall melakukannya.

Toby Mills
sumber