UDP bağlantı noktasındaki bir sunucuya bağlantıyı doğrulayın


14

Bir HP-UX makinesinin UDP kullanarak belirli bir bağlantı noktasındaki uzak makineyle (üzerinde kontrol sahibi olmadığım) iletişim kurup kuramayacağını bilmek istiyorum.

Telnet'i denedim ama UDP'yi desteklemiyor gibi görünüyor. Netcat kullanardım, ancak herhangi bir paket bulamadım. Bu makine üretimde, bu yüzden çok fazla şey yüklemek ya da yüklemek için uğraşmak istemiyorum ... (nmap, netcat kaynağından ...)

Bunu yapmanın basit bir yolu var mı?

Yanıtlar:


16

Bir UDP bağlantı noktasına ping atmak biraz zordur, çünkü bağlantı yoktur . Uzak ana bilgisayar üzerinde denetiminiz yoksa, UDP datagramlarınızın gerçekten alınıp alınmadığını asla bilemeyebilirsiniz. Ben aracılığıyla, zaten uzak ana erişilebilir olup olmadığını bilmek farz ping, traceroute, mtrvb (Değilse, ilk kontrol edin!)

Sonra, sahip olmadığınız için netcatUDP paketleri oluşturmanın bir yoluna ihtiyacınız olacak.

bashEğer özel cihaza veri aktarımı yaparken kabuk UDP paketleri gönderir /dev/udp/host/port. Örneğin:

#!/bin/bash
host="10.10.10.10"
port=12345
echo "PING" >/dev/udp/$host/$port

Python, elbette, UDP'yi de tamamen yapabilir, ör.

#!/bin/python
import socket
host="10.10.10.10"
port=12345
udp_sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
udp_sock.sendto('PING', (host, port))

UDP "ping" paketinizi nasıl oluşturduğunuza bakılmaksızın, hedefin onu alıp almadığını bilmek isteyeceksiniz. Hedef port açıksa (yani bir servis verilen portta dinliyorsa) ne olacağı uygulama tarafından tanımlanır. Umarım, uzaktaki sistemden bazı davranışlar veya göstergeler fark edersiniz.

Hedef bağlantı noktası kapalıysa (yani bu bağlantı noktasında hiçbir hizmet dinlenmiyorsa), yanıt olarak bir ICMP hata paketi almanız gerekir . İzlemek için en sevdiğiniz tel düzeyi ağ algılayıcısını kullanın. Veya, belki HP-UX sisteminiz ICMP hatalarını bir yere kaydeder (üzgünüm, HP-UX ile herhangi bir deneyimim yok).

Ne yazık ki, hedef güvenlik duvarı ise, hedef bağlantı noktası kapalıyken yanıt alamayabilirsiniz. Uzak ana bilgisayarın yanıt verip vermediğini bilmenin tek kesin yolu UDP verilerine bağlı uygulamanızı çalıştırmak ve ağ trafiğini izlemek.


10

Kullanabilirsiniz netcat. OSX'te bu benim komutum:

$ nc -vnzu <IP> <PORT>
found 0 associations
found 1 connections:
1: flags=82<CONNECTED,PREFERRED>
outif (null)
src <SOURCE IP> port <SOURCE PORT>
dst <DEST IP> port <DEST PORT>
rank info not available

Mükemmel, nc her şey için çalışır!
Shoaib Khan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.