Solusi 1:
Anda dapat memeriksa apakah suatu proses mendengarkan pada port TCP atau UDP dengan netstat -tuplen
.
Untuk memeriksa apakah beberapa port dapat diakses dari luar (ini mungkin yang Anda inginkan), Anda dapat menggunakan pemindai port seperti Nmap dari another sistem. Menjalankan Nmap pada host yang sama yang ingin Anda periksa sangat tidak berguna untuk tujuan Anda.
Solusi 2:
Cara tercepat untuk menguji apakah port TCP terbuka (termasuk firewall perangkat keras apa pun yang mungkin Anda miliki), adalah dengan mengetik, dari komputer jarak jauh (mis. desktop Anda):
telnet myserver.com 80
Yang akan mencoba membuka koneksi ke port 80 di server itu. Jika Anda mendapat waktu istirahat atau menolak, porta tidak terbuka :)
Solusi 3:
Oke, singkatnya, Anda memiliki server yang bisa Anda masuki. Anda ingin melihat apakah ada sesuatu yang mendengarkan di beberapa port. Sebagai root, jalankan:
netstat -nlp
ini akan menampilkan daftar proses mendengarkan pada port TCP dan UDP. Anda dapat memindai (atau grep) untuk proses yang Anda minati, dan/atau nomor port yang ingin Anda lihat.
Jika proses yang Anda harapkan tidak ada, Anda harus memulai proses itu dan memeriksa kembali netstat. Jika prosesnya ada, tetapi mendengarkan pada antarmuka dan port yang tidak Anda harapkan, maka ada masalah konfigurasi (misalnya, mungkin mendengarkan, tetapi hanya pada antarmuka loopback, sehingga Anda akan melihat 127.0.0.1:3306 dan tidak ada baris lain untuk port 3306, dalam kasus konfigurasi default untuk MySQL).
Jika prosesnya sudah selesai, dan mendengarkan di port yang Anda harapkan, Anda dapat mencoba menjalankan "telnet" ke port tersebut dari Macbook di kantor/rumah Anda, mis.,
telnet xxxxxxxxxxxx.co.uk 443
Itu akan menguji apakah (dengan asumsi port standar) bahwa ada server web yang dikonfigurasi untuk SSL. Perhatikan bahwa pengujian menggunakan telnet ini hanya akan berfungsi jika proses mendengarkan pada port TCP. Jika ini adalah port UDP, Anda juga dapat mencoba dengan klien apa pun yang akan Anda gunakan untuk menyambungkannya. (Sepertinya Anda menggunakan port 224. Ini adalah masqdialer, dan saya tidak tahu apa itu).
Jika layanan ada di sana, tetapi Anda tidak dapat mengaksesnya secara eksternal, berarti ada firewall yang memblokir Anda. Dalam hal ini, jalankan:
iptables -L -n
Ini akan menampilkan semua aturan firewall seperti yang ditentukan pada sistem Anda. Anda dapat mempostingnya, tetapi, secara umum, jika Anda tidak mengizinkan semua yang ada di rantai INPUT, Anda mungkin perlu mengizinkan lalu lintas secara eksplisit di port yang dimaksud:
iptables -I INPUT -p tcp --dport 224 -j ACCEPT
atau sesuatu di sepanjang garis itu. Jangan jalankan perintah firewall Anda secara membabi buta berdasarkan apa yang dikatakan orang asing kepada Anda di Internet. Pertimbangkan apa yang Anda lakukan.
Jika firewall Anda pada kotak mengizinkan lalu lintas yang Anda inginkan, maka perusahaan hosting Anda mungkin menjalankan firewall (mis., mereka hanya mengizinkan SSH (22/tcp), HTTP (80/tcp), dan HTTPS (443/tcp) dan menolak semua lalu lintas masuk lainnya). Dalam hal ini, Anda harus membuka tiket helpdesk dengan mereka untuk menyelesaikan masalah ini, meskipun saya kira mungkin ada sesuatu di cPanel Anda yang mengizinkannya.
Solusi 4:
Saya menggunakan kombo netstat
dan lsof
:
netstat -an | grep <portnumber>
lsof -i:<portnumber>
Untuk melihat apakah port sedang digunakan, dan apa yang menggunakannya.
Solusi 5:
Jika Anda terhubung ke sistem dan dapat menjalankan perintah sebagai root maka Anda dapat memeriksa output dari iptables
iptables -L -vn
ini akan mencantumkan aturan firewall dan port mana yang terbuka target ACCEPT
dan semua port yang ditutup secara eksplisit menargetkan REJECT
.