Apakah ada cara untuk memeriksa status port tertentu dari baris perintah Windows? Saya tahu saya bisa menggunakan netstat untuk memeriksa semua port tetapi netstat lambat dan melihat port tertentu mungkin tidak.
Apakah ada cara untuk memeriksa status port tertentu dari baris perintah Windows? Saya tahu saya bisa menggunakan netstat untuk memeriksa semua port tetapi netstat lambat dan melihat port tertentu mungkin tidak.
Jawaban:
Berikut ini adalah solusi mudah menemukan port ...
Dalam cmd:
netstat -na | find "8080"
Dalam bash:
netstat -na | grep "8080"
Di PowerShell:
netstat -na | Select-String "8080"
-o
flag (yaitu di -nao
sini) untuk memasukkan PID dari proses menggunakan port.
Anda dapat menggunakan netstat
gabungan dengan -np
bendera dan pipa ke find
atau findstr
perintah.
Penggunaan Dasar adalah seperti itu:
netstat -np <protocol> | find "port #"
Jadi misalnya untuk memeriksa port 80 pada TCP, Anda dapat melakukan ini: netstat -np TCP | find "80"
Yang akhirnya memberikan jenis output berikut:
TCP 192.168.0.105:50466 64.34.119.101:80 ESTABLISHED
TCP 192.168.0.105:50496 64.34.119.101:80 ESTABLISHED
Seperti yang Anda lihat, ini hanya menunjukkan koneksi pada port 80 untuk protokol TCP.
Saya menggunakan:
netstat –aon | find "<port number>"
di sini o merupakan ID proses. sekarang Anda dapat melakukan apa pun dengan ID proses. Untuk mengakhiri proses, misalnya, gunakan:
taskkill /F /pid <process ID>
ketika saya memiliki masalah dengan WAMP apache, saya menggunakan kode ini untuk menemukan program mana yang menggunakan port 80.
netstat -o -n -a | findstr 0.0:80
3068
adalah PID, jadi saya bisa menemukannya dari task manager dan menghentikan proses itu.
Seperti disebutkan di tempat lain: gunakan netstat, dengan sakelar yang sesuai, dan kemudian filter hasilnya dengan find [str]
Paling dasar:
netstat -an | find ":N"
atau
netstat -a -n | find ":N"
Untuk menemukan pelabuhan asing, Anda dapat menggunakan:
netstat -an | findstr ":N[^:]*$"
Untuk menemukan port lokal yang mungkin Anda gunakan:
netstat -an | findstr ":N.*:[^:]*$"
Di mana N adalah nomor port yang Anda minati.
-n
memastikan semua port akan numerik, yaitu tidak dikembalikan sebagaimana diterjemahkan ke nama layanan.
-a
akan memastikan Anda mencari semua koneksi (TCP, UDP, mendengarkan ...)
Dalam find
string, Anda harus menyertakan titik dua, sebagai kualifikasi port, jika tidak, jumlahnya mungkin cocok dengan alamat lokal atau asing.
Anda selanjutnya dapat mempersempit pencarian menggunakan switch netstat lainnya sesuai kebutuhan ...
Bacaan lebih lanjut (^ 0 ^)
netstat /?
find /?
findstr /?
netstat -a -n | find /c "10.240.199.9:8080"
itu akan memberi Anda jumlah soket aktif pada IP dan port tertentu (nomor port Server)
FIND: Parameter format not correct
Untuk Pengguna Windows 8: Buka Command Prompt, ketik netstat -an | cari "nomor port Anda" , masukkan.
Jika balasan datang seperti MENDENGARKAN maka port sedang digunakan, kalau tidak gratis.
Untuk meningkatkan respons @ EndUzr :
Untuk menemukan port asing (IPv4 atau IPv6) Anda dapat menggunakan:
netstat -an | findstr /r /c:":N [^:]*$"
Untuk menemukan port lokal (IPv4 atau IPv6) Anda dapat menggunakan:
netstat -an | findstr /r /c:":N *[^ ]*:[^ ]* "
Di mana N adalah nomor port yang Anda minati. Sakelar "/ r" memberitahukannya untuk memprosesnya sebagai regexp. Sakelar "/ c" memungkinkan findstr untuk memasukkan spasi dalam string pencarian alih-alih memperlakukan spasi sebagai pembatas string pencarian. Ruang tambahan ini mencegah lebih lama port diperlakukan salah - misalnya, ": 80" vs ": 8080" dan masalah port munging lainnya.
Untuk membuat daftar koneksi jarak jauh ke server RDP lokal, misalnya:
netstat -an | findstr /r /c:":3389 *[^ ]*:[^ ]*"
Atau untuk melihat siapa yang menyentuh DNS Anda:
netstat -an | findstr /r /c:":53 *[^ ]*:[^ ]*"
Jika Anda ingin mengecualikan port khusus lokal, Anda dapat menggunakan serangkaian pengecualian dengan "/ v" dan melepaskan karakter dengan backslash:
netstat -an | findstr /v "0.0.0.0 127.0.0.1 \[::\] \[::1\] \*\:\*" | findstr /r /c:":80 *[^ ]*:[^ ]*"
Untuk port 80, perintahnya adalah: netstat -an | find "80" Untuk port n, perintahnya adalah: netstat -an | temukan "n"
Di sini, netstat adalah instruksi untuk mesin Anda
-a: Menampilkan semua koneksi dan mendengarkan port -n: Menampilkan semua alamat dan instruksi dalam format numerik (Ini diperlukan karena output dari -a dapat berisi nama mesin)
Kemudian, perintah find untuk "Pattern Match" output dari perintah sebelumnya.
Di RHEL 7, saya menggunakan perintah ini untuk memfilter beberapa port di LISTEN State:
sudo netstat -tulpn | grep LISTEN | egrep '(8080 |8082 |8083 | etc )'
Perintah ini akan menampilkan semua port dan alamat tujuan mereka:
netstat -f
Gunakan perintah lsof "lsof -i tcp: port #", berikut adalah contohnya.
$ lsof -i tcp:1555
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 27330 john 121u IPv4 36028819 0t0 TCP 10.10.10.1:58615->10.10.10.10:livelan (ESTABLISHED)
java 27330 john 201u IPv4 36018833 0t0 TCP 10.10.10.1:58586->10.10.10.10:livelan (ESTABLISHED)
java 27330 john 264u IPv4 36020018 0t0 TCP 10.10.10.1:58598->10.10.10.10:livelan (ESTABLISHED)
java 27330 john 312u IPv4 36058194 0t0 TCP 10.10.10.1:58826->10.10.10.10:livelan (ESTABLISHED)
netstat
hanya lambat jika Anda tidak menggunakan-n
saklar, yang berarti harus melakukan banyak pencarian DNS.