Firewall harus membalas dengan pesan ICMP ketika mereka memblokir permintaan. Namun, ini belum tentu demikian (Anda akan tertarik pada artikel yang bagus ini ).
Anda dapat menguji dari luar untuk melihat apakah port dapat diakses melalui firewall dan, jika demikian, apakah ada sesuatu yang mendengarkannya. Berikut tiga skenario berbeda yang melibatkan permintaan tcp yang dapat Anda amati wireshark
, atau beberapa paket sniffer, dan apa yang akan Anda lihat:
1) Firewall menolak permintaan
Anda mendapatkan pesan ICMP kembali, dan alat yang membuat permintaan harus segera memberi tahu Anda sesuatu tentang efek ini ("tidak dapat dijangkau, admin dilarang" dll). Yang saya maksud dengan "alat" adalah klien yang Anda gunakan untuk mengirim permintaan (saya menggunakan telnet
). Rincian pesan 1 tergantung pada bagaimana firewall dikonfigurasi, tetapi "port unreachable" mungkin yang paling umum.
"No route to host" mungkin mengindikasikan hal ini, tetapi mungkin juga mengindikasikan masalah perutean yang lebih halus.
2) Firewall menjatuhkan paket
Tidak ada jawaban, jadi alat menunggu sampai waktunya habis atau Anda bosan.
3) Firewall memungkinkan paket (atau tidak ada firewall), tetapi tidak ada yang mendengarkan di port.
Anda mendapatkan pesan TCP RST / ACK kembali. Saya kira protokol TCP memerlukan ini. Dengan kata lain, jika tidak ada yang mendengarkan di port, OS itu sendiri mengirimkan balasan ini. Mungkin sulit untuk membedakan ini dari # 1 hanya berdasarkan apa yang dilaporkan alat, karena itu mungkin mengatakan hal yang sama dalam kedua kasus (namun, kemungkinan besar memang membedakan ini sebagai "koneksi ditolak" vs # 1, "jaringan tidak terjangkau" ). Diamati dalam sniffer paket pada mesin klien, skenario # 1 (pesan penolakan ICMP) dan # 3 (pesan TCP RST / ACK) jelas berbeda.
Satu-satunya opsi lain di sini adalah bahwa paket diizinkan melalui firewall dan ada sesuatu yang mendengarkan, sehingga Anda mendapatkan koneksi yang sukses.
Dengan kata lain: menganggap jaringan Anda secara umum berfungsi dengan baik, jika Anda mendapatkan # 1 atau # 2, itu berarti firewall secara aktif mencegah akses ke port. # 3 akan terjadi jika server Anda tidak berjalan tetapi port dapat diakses, dan tentu saja (implisit) # 4 adalah koneksi yang berhasil.
- Misalnya, "port unreachable", "host dilarang", berbagai kombinasi host / port / admin lainnya dan unreachable / dilarang ; cari ini dalam pesan karena merupakan indikasi eksplisit firewall IP yang sedang dimainkan.
nc
melaporkan "Sambungan ditolak" ketika port dapat diakses, tetapi tidak ada pendengar, dan "Jaringan tidak dapat dijangkau" ketika permintaan telah dipantulkan oleh firewall melalui icmp (artinya mungkin ada atau mungkin tidak ada layanan pada port tersebut. ). Jika firewall menjatuhkan paket alih-alih menolaknya,nc
hanya akan bertahan sebentar.