Scan Network With Simple Windows Command
Daftar Isi:
- Apa itu Open Port
- Periksa Open Ports dengan
nmap
- Periksa Open Ports dengan
netcat
- Periksa Port Terbuka menggunakan Perangkat Bash Pseudo
- Kesimpulan
Apakah Anda memecahkan masalah konektivitas jaringan atau mengonfigurasi firewall, salah satu hal pertama yang perlu diperiksa adalah port apa yang sebenarnya dibuka pada sistem Anda.
Artikel ini menjelaskan beberapa pendekatan untuk mencari tahu port apa yang dibuka ke luar pada sistem Linux Anda.
Apa itu Open Port
Port mendengarkan adalah port jaringan yang didengarkan aplikasi. Anda bisa mendapatkan daftar port mendengarkan pada sistem Anda dengan menanyakan tumpukan jaringan dengan perintah seperti
ss
,
netstat
atau
lsof
. Setiap port mendengarkan dapat dibuka atau ditutup (difilter) menggunakan firewall.
Secara umum, port terbuka adalah port jaringan yang menerima paket masuk dari lokasi jarak jauh.
Misalnya, jika Anda menjalankan server web yang mendengarkan pada port
80
dan
443
dan port tersebut terbuka pada firewall Anda, siapa pun (kecuali ips yang diblokir) akan dapat mengakses situs web yang dihosting di server web Anda menggunakan browser-nya. Dalam hal ini, baik
80
dan
443
adalah port terbuka.
Port terbuka dapat menimbulkan risiko keamanan karena setiap port terbuka dapat digunakan oleh penyerang untuk mengeksploitasi kerentanan atau melakukan jenis serangan lainnya. Anda harus mengekspos hanya port yang diperlukan untuk fungsionalitas aplikasi Anda dan menutup semua port lain.
Periksa Open Ports dengan
nmap
Nmap adalah alat pemindaian jaringan yang kuat yang dapat memindai host tunggal dan jaringan besar. Ini terutama digunakan untuk audit keamanan dan pengujian penetrasi.
Jika tersedia,
nmap
harus menjadi alat pertama Anda ketika datang ke pemindaian port. Selain itu port scanning
nmap
juga dapat mendeteksi alamat Mac, tipe OS, versi kernel, dan banyak lagi.
Perintah berikut yang dikeluarkan dari konsol menentukan port mana yang mendengarkan koneksi TCP dari jaringan:
sudo nmap -sT -p- 10.10.8.8
-sT
memberitahu
nmap
untuk memindai port TCP dan
-p-
untuk memindai semua port 65535. Jika
-p-
tidak digunakan,
nmap
hanya akan memindai 1000 port.
Starting Nmap 7.60 (https://nmap.org) at 2019-07-09 23:10 CEST Nmap scan report for 10.10.8.8 Host is up (0.0012s latency). Not shown: 998 closed ports PORT STATE SERVICE 22/tcp open ssh 80/tcp open http MAC Address: 08:00:27:05:49:23 (Oracle VirtualBox virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 0.41 seconds
Output di atas menunjukkan bahwa hanya port
22
,
80
dan
8069
yang dibuka pada sistem target.
Untuk memindai port UDP gunakan
-sU
bukan
-sT
:
sudo nmap -sU -p- 10.10.8.8
Untuk informasi lebih lanjut, kunjungi halaman manual nmap dan baca tentang semua opsi kuat lainnya dari alat ini.
Periksa Open Ports dengan
netcat
Netcat (atau
nc
) adalah alat baris perintah yang dapat membaca dan menulis data melalui koneksi jaringan, menggunakan protokol TCP atau UDP.
Dengan
netcat
Anda dapat memindai satu port atau rentang port.
Misalnya untuk memindai port TCP terbuka pada mesin jarak jauh dengan alamat IP
10.10.8.8
dalam kisaran
20-80
Anda akan menggunakan perintah berikut:
nc -z -v 10.10.8.8 20-80
Opsi
-z
memberitahu
nc
untuk memindai hanya untuk port terbuka, tanpa mengirim data apa pun dan
-v
adalah untuk informasi yang lebih lengkap.
Outputnya akan terlihat seperti ini:
nc: connect to 10.10.8.8 port 20 (tcp) failed: Connection refused nc: connect to 10.10.8.8 port 21 (tcp) failed: Connection refused Connection to 10.10.8.8 22 port succeeded!… Connection to 10.10.8.8 80 port succeeded!
nc -z -v 10.10.8.8 20-80 2>&1 | grep succeeded
Connection to 10.10.8.8 22 port succeeded! Connection to 10.10.8.8 80 port succeeded!
Untuk memindai port UDP, lewat opsi
-u
ke perintah
nc
:
nc -z -v -u 10.10.8.8 20-80 2>&1 | grep succeeded
Periksa Port Terbuka menggunakan Perangkat Bash Pseudo
Cara lain untuk memeriksa apakah port tertentu terbuka atau tertutup adalah dengan menggunakan perangkat Bash shell
/dev/tcp/..
atau
/dev/udp/..
pseudo.
Saat menjalankan perintah pada perangkat semu
/dev/$PROTOCOL/$HOST/$IP
, Bash akan membuka koneksi TCP atau UDP ke host yang ditentukan pada port yang ditentukan.
Pernyataan if..else berikut akan memeriksa apakah port
443
di
kernel.org
terbuka:
if timeout 5 bash -c ' /dev/null' then echo "Port is open" else echo "Port is closed" fi
if timeout 5 bash -c ' /dev/null' then echo "Port is open" else echo "Port is closed" fi
Port is open
Bagaimana cara kerja kode di atas?
Batas waktu default saat menghubungkan ke port menggunakan perangkat pseudo sangat besar sehingga kami menggunakan perintah
timeout
untuk mematikan perintah tes setelah 5 detik. Jika koneksi dibuat ke port
kernel.org
443
perintah tes akan kembali benar.
Anda juga dapat menggunakan loop for untuk memeriksa rentang port:
for PORT in {20..80}; do timeout 1 bash -c " /dev/null" && echo "port $PORT is open" done
for PORT in {20..80}; do timeout 1 bash -c " /dev/null" && echo "port $PORT is open" done
Outputnya akan terlihat seperti ini:
port 22 is open port 80 is open
Kesimpulan
Kami telah menunjukkan kepada Anda beberapa alat yang dapat Anda gunakan untuk memindai port terbuka. Ada juga utilitas dan metode lain untuk memeriksa port terbuka, misalnya, Anda dapat menggunakan modul
socket
Python,
curl
,
telnet
atau
wget
.
Pemindai Port Gratis untuk Windows: Lakukan Pemindaian Port Firewall
Lakukan Pemindaian Port Firewall dengan Free Port Scanner. Deteksi ini, alat uji & layanan online, memindai port tertentu untuk IP tertentu & membuka titik akses yang rentan.
McAfee TechCheck: Freeware untuk memindai PC untuk kesalahan & masalah
McAfee TechCheck melakukan pemindaian lengkap komputer Anda dan mendeteksi masalah perangkat keras dan perangkat lunak di komputer Anda.
Cara memeriksa port mendengarkan di linux (port sedang digunakan)
Artikel ini menjelaskan cara mengetahui port yang digunakan dan layanan mana yang mendengarkan port mana yang menggunakan perintah netstat, ss dan lsof. Petunjuk ini berlaku untuk semua sistem operasi berbasis Linux dan Unix seperti macOS.