Uzak veya yerel ana bilgisayarda portun açık olup olmadığını nasıl kontrol edilir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Uzak veya yerel bir ana bilgisayarda açık olan bir bağlantı noktasını kontrol etmek için aşağıdaki yöntemler kullanılabilir:
-
netcat(nc): Ağ bağlantılarıyla çalışmak için evrensel araç.- Yerel ana bilgisayar:
nc -zv localhost <port> - Uzak ana bilgisayar:
nc -zv <uzak_ana_bilgisayar> <port>
-z(sıfır-I/O modu) ve-v(ayrıntılı) seçenekleri, veri göndermeden tarama yapmak ve detaylı bilgi göstermek için kullanılır. - Yerel ana bilgisayar:
-
telnet: Uzaktan yönetim protokolü, belirtilen bağlantı noktasında bağlantıyı kontrol etmek için kullanılabilir.- Yerel ana bilgisayar:
telnet localhost <port> - Uzak ana bilgisayar:
telnet <uzak_ana_bilgisayar> <port>
Bağlantı kurulursa (genellikle bir davet veya boş bir satır görünür), bağlantı noktası açıktır. Kapatmak için
Ctrl+], ardındanquitve Enter tuşlarına basın. - Yerel ana bilgisayar:
-
nmap: Güçlü bir bağlantı noktası tarayıcı. Kurulum gerektirir.- Yerel ana bilgisayar:
nmap -p <port> localhost - Uzak ana bilgisayar:
nmap -p <port> <uzak_ana_bilgisayar>
Çıktı, bağlantı noktası durumunu gösterecektir:
open,closedveyafiltered. - Yerel ana bilgisayar:
-
< /dev/tcpveya< /dev/udp(Bash'te): Bash'te, dosya tanıtıcıları kullanılarak TCP veya UDP bağlantıları oluşturulabilir.- Yerel ana bilgisayar (TCP):
timeout 1 bash -c "cat < /dev/tcp/localhost/<port>" 2>/dev/null && echo "Port <port> açık" || echo "Port <port> kapalı" - Uzak ana bilgisayar (TCP):
timeout 1 bash -c "cat < /dev/tcp/<uzak_ana_bilgisayar>/<port>" 2>/dev/null && echo "Port <port> açık" || echo "Port <port> kapalı"
timeout, port kapalıysa takılmayı önlemek için kullanılır.2>/dev/null, hata çıktılarını gizler. Bu yöntem UDP için çalışmaz. - Yerel ana bilgisayar (TCP):
-
Python: Soketler kullanılarak kontrol.
import socket def check_port(host, port): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.settimeout(1) # Zaman aşımı ayarla try: s.connect((host, port)) print(f"{host} üzerindeki {port} portu açık") except (socket.timeout, ConnectionRefusedError): print(f"{host} üzerindeki {port} portu kapalı veya filtrelenmiş") finally: s.close() # Kullanım örneği check_port("localhost", 80) # Yerel ana bilgisayarı kontrol et check_port("google.com", 443) # Uzak ana bilgisayarı kontrol et
Yöntem seçimi, kullanılabilir araçlara, işletim sistemine ve görevin özelliklerine bağlıdır. netcat ve nmap, en esnek ve bilgilendirici araçlardan bazılarıdır.