Bagaimana nmap membedakan port tertutup dari port yang difilter

10

Misalkan kita sedang melakukan pemindaian koneksi TCP.

pemindaian nmap di google menghasilkan output berikut:

LAYANAN NEGARA PELABUHAN

80 / tcp buka http

443 / tcp buka https

Namun, jika saya mencoba membuka soket dengan netcat atau telnet di google.com pada port 12 misalnya, netcat atau telnet hang tanpa batas.

Nmap mendeteksi port 12 (dan port lain selain 80 atau 443) sebagai tertutup tetapi memulai koneksi TCP ke mereka tidak langsung menutup.

Bagaimana bisa nmap tahu port-port itu tidak difilter tetapi ditutup?

Intrepidd
sumber
Secara default (meskipun ada lebih dari itu algoritma) output yang akan Anda dapatkan dari nmap hanya port yang dibuka, bukan yang ditutup atau yang disaring. nmap -p 12 www.google.com biasanya akan menampilkannya sebagai difilter.
nos

Jawaban:

14

Dengan pemindaian nmap, Anda biasanya mendapatkan 3 status:

  • Komputer terbuka - jauh merespons dengan SYN / ACK ke SYN Anda
  • Tertutup - komputer jarak jauh menolak upaya koneksi Anda dengan paket RST
  • Difilter - tidak ada yang kembali, batas waktu terjadi

Membuka netcat ke port 80 dan menunggu tidak akan melakukan apa-apa. Port 80 (biasanya) berarti server http mendengarkan di sisi lain, dan sedang menunggu perintah HTTP (sampai batas waktu sendiri). Setelah netcatting ke port 80, coba sedinng a GET /untuk melihat apakah Anda mendapatkan balasan (mungkin kesalahan http).

mulaz
sumber
8

Port tertutup adalah port yang tidak memiliki perangkat lunak yang mendengarkannya, sehingga upaya untuk membuat koneksi ke port tersebut pada sistem tersebut akan menghasilkan sistem yang mengirim kembali paket TCP RST.

Port yang difilter, di sisi lain biasanya adalah port yang diblokir oleh firewall di jalur jaringan, sehingga upaya untuk membuat koneksi ke port pada sistem itu tidak akan menghasilkan apa-apa kembali sama sekali ... bahkan tidak TCP RST ... sehingga upaya koneksi akan dilakukan di sana sampai TCP memadamkan upaya untuk terhubung.

Jeff McAdams
sumber
Ini benar tetapi tidak menjawab pertanyaan saya. Buka netcat di google.com pada port 42, Anda tidak akan mendapatkan paket RST, tetapi nmap menandai port ini sebagai ditutup.
Intrepidd
Nmap saya ke google.com termasuk port 42 mengembalikannya sebagai difilter, bukan ditutup.
Jeff McAdams
Buruk saya, saya pikir semua port tidak ditampilkan ditutup, tetapi itu tergantung pada hasil global.
Intrepidd