Saya mencoba menginstal situs di bawah port alternatif di server, tetapi port mungkin ditutup oleh firewall. Apakah ada cara untuk keluar atau masuk, pada port tertentu, untuk melihat apakah port tersebut terbuka?
Saya mencoba menginstal situs di bawah port alternatif di server, tetapi port mungkin ditutup oleh firewall. Apakah ada cara untuk keluar atau masuk, pada port tertentu, untuk melihat apakah port tersebut terbuka?
Jawaban:
Dengan asumsi bahwa itu adalah port TCP (bukan UDP) yang Anda coba gunakan:
Di server itu sendiri, gunakan netstat -anuntuk memeriksa untuk melihat port mana yang mendengarkan.
Dari luar, cukup gunakan telnet host port(atau telnet host:portpada sistem Unix) untuk melihat apakah koneksi ditolak, diterima, atau timeout.
Pada tes terakhir itu, maka secara umum:
Pada Windows 7 atau Windows Vista, opsi default 'telnet' tidak dikenali sebagai perintah internal atau eksternal, program yang dapat dijalankan, atau file batch. Untuk mengatasinya, cukup aktifkan: Klik * Mulai ** → Control Panel → Program → Mengaktifkan atau menonaktifkan Fitur Windows . Dalam daftar, gulir ke bawah dan pilih Telnet Client dan klik OK.
Could not open connection to the host, on port *x*: Connect failedditunjukkan?
telnet api-3t.sandbox.paypal.com 443mendapatkannya? Connecting to api-3t.sandbox.paypal.com...Could not open connection to the host on port 443: Connect failedApakah ini karena firewall memblokirnya?
o host portvs command line terbuka (cmd.exe) dan kemudian ketiktelnet host port
Di Windows Anda bisa menggunakan
netstat -na | find "your_port"
untuk mempersempit hasilnya. Anda juga dapat menyaring untuk LISTENING, ESTABLISHED, TCPdan semacamnya. Pikiran itu case-sensitive sekalipun.
findtidak bekerja di Windows 10 untuk saya, tetapi netstat -na | findstr "8080"bekerja
Jika Anda memeriksa dari luar, bukan dari server itu sendiri, dan Anda tidak ingin repot menginstal telnet (karena tidak datang dengan versi Windows terakhir) atau perangkat lunak lain, maka Anda memiliki PowerShell asli:
Test-NetConnection -Port 800 -ComputerName 192.168.0.1 -InformationLevel Detailed
(Sayangnya ini hanya berfungsi dengan PowerShell 4.0 atau lebih baru. Untuk memeriksa versi PowerShell Anda, ketik $PSVersionTable.)
PS: Catatan, hari ini ada beberapa klaim di twittersphere yang mengisyaratkan bahwa jawaban ini dapat ditingkatkan dengan menyebutkan "Tes-Koneksi" dari PowerShell Core, atau pintasan "tnc". Lihat https://twitter.com/david_obrien/status/1214082339203993600 dan bantu saya mengedit jawaban ini untuk memperbaikinya!
(Jika Anda memiliki PSVersion <4.0, Anda kurang beruntung. Periksa tabel ini:
Meskipun Anda dapat memutakhirkan versi PowerShell Anda dengan menginstal Windows Management Framework 4.0 , itu tidak membantu saya, cmdlet Test-NetConnection masih belum tersedia).
Pada mesin Windows Anda dapat menggunakan PortQry dari Microsoft untuk memeriksa apakah suatu aplikasi sudah mendengarkan pada port tertentu menggunakan perintah berikut:
portqry -n 11.22.33.44 -p tcp -e 80
portqry -n 11.22.33.44 -p udp -e 19132
Saya memang suka itu:
netstat -an | find "8080"
dari telnet
telnet 192.168.100.132 8080
Dan pastikan firewall dimatikan pada mesin itu.
netstat -an | find "8080",no such file named "8080"
Jika telnettidak tersedia, unduh Putty . Ini adalah klien Telnet, SSH, dll yang jauh lebih unggul dan akan berguna dalam banyak situasi, tidak hanya yang satu ini, terutama jika Anda mengelola server.
Apakah Anda menginginkan alat untuk melakukannya? Ada situs web di http://www.canyouseeme.org/ . Jika tidak, Anda memerlukan server lain untuk menelepon Anda kembali untuk melihat apakah port terbuka ...
Di Windows Server Anda bisa menggunakan
netstat -an | where{$_.Contains("Yourport")}
Utilitas lain yang saya temukan dan bagus dan kecil juga, adalah PortQry Command Line Port Scanner versi 2.0 .
Anda dapat melakukan ping ke server dan port dan ia akan memberi tahu Anda kondisi port tersebut. Ada utilitas baris perintah dan UI untuk itu.