Ping Setara Untuk Memeriksa Jika Port Terbuka

9

Bagaimana cara saya memeriksa apakah port hidup secara konsisten? Sebagai contoh, saya bisa menggunakan

ping 192.168.1.1 -t > results.txt

Ini akan melakukan ping 192.168.1.1 terus menerus sehingga saya bisa memantaunya.
Apakah ada alat atau perintah setara yang bisa saya gunakan untuk ini?

Saat ini saya menggunakan telnet tetapi terkadang host memutusnya. Saya butuh solusi Windows.

grassbl8d
sumber
Apakah ini port spesifik yang perlu Anda periksa misalnya port 80 untuk http atau port 21 untuk ftp, atau apakah itu alamat IP tertentu yang perlu Anda periksa misalnya untuk menguji apakah host dapat dijangkau. Yang terakhir adalah apa yang dilakukan contoh Anda di atas.
Chris
Saya ingin memeriksa port tertentu jika terbuka.
grassbl8d
Karena ping "standar" menggunakan pesan ICMP, dan ketika berbicara tentang port Anda mungkin berpikir tentang TCP / IP, Anda memiliki ketidakcocokan di sana yang tidak dapat Anda tutup (ICMP dan IP adalah protokol yang sangat berbeda). pingadalah alat yang salah untuk memantau, Anda harus menggunakan sesuatu yang menghasilkan jenis lalu lintas yang Anda butuhkan untuk layanan tertentu. Contoh: untuk memantau situs web Anda mengirim permintaan HTTP, dll.
Patrick Mevzek

Jawaban:

13

Anda bisa menggunakan netcat jika ada versi Windows - di Linux saya menggunakan:

nc -z <host> <port>

Ini mengembalikan 0 jika port terbuka. Jalankan ini dalam satu lingkaran untuk membuatnya terus menerus.

Jika Powershell tersedia, lihat https://web.archive.org/web/20111102182913/http://poshcode.org/85 untuk contoh.

Andrew
sumber
2
ping setiap detik host di port dan kembali 0jika berhasil, 1jika tidak:while (:); do nc -z HOSTNAME_HERE PORT_HERE; echo $?; sleep 1; done
sjas
tautan tidak berfungsi lagi
Clinton Ward
@ClintonWard Diperbarui dengan tautan yang diarsipkan :)
Andrew
5

Atau gunakan nmap dari http://nmap.org , ada versi windows yang tersedia.

host port nmap -p

atau, untuk host yang tidak menanggapi permintaan ICMP,

nmap -P0 -p host port

rem
sumber
5

Anda dapat menggunakan nping dari nmap seperti:

C:\>nping --tcp -p 80 192.168.1.1

di mana -pmenentukan port untuk dipindai (di sini: 80). Selanjutnya Anda dapat menggunakan -Huntuk menyembunyikan paket yang dikirim, dan hanya menunjukkan balasan saja.

Murmel
sumber
0

Telnet <host> <port>akan memeriksa jarak jauh <host>untuk mendengarkan TCP <port>.

dmourati
sumber
0

Jika Anda ingin menggunakan utilitas baris perintah stok, maka TELNET akan terhubung ke port untuk Anda. Di sisi lain, jika ada layanan yang merespons, maka TELNET dapat 'hang' sambil menunggu Anda untuk memberikan urutan perintah escape.

Jika Anda terbuka untuk menginstal utilitas baris perintah baru, maka PaPing berfungsi seperti yang Anda inginkan . Ini lintas platform, dan ada penginstal Windows yang tersedia.

Jesper M
sumber