Delphi Can

Orjinalini görmek için tıklayınız: Udp port kullanımda mi ?
Şu anda (Arşiv) modunu görüntülemektesiniz. Orjinal Sürümü Görüntüle internal link
lazarus ve synapse lib kullanarak kendime network ip scanner yazıyorum. Hazır araçlar bulunsada kendim yazıp hem tecrübe hemde istediğim özelliği ekliyorum.

Suan icin verilen aralıkta Ping atarak tarama yapabiliyor. Ping’e cevap gelirse ip,mac,name gibi bilgileri listeliyorum. Verilen tcp Porta göre arama  yapıyorum. Sorunsuz çalışıyor.

Ama ben verdiğim udp portuna göre arama yapmak istediğimde maalesef olmuyor. TCP gibi doğrulama olmadığı icin dönüş cevabı alamıyorum.

Sorum şu ; verdiğim ip adresinin verdiğim udp portu acık mi ? Bunu nasıl yapabilirim. Suanda synapse lib var ama her yola açığım.??  

Hazır toolar nasıl başarıyor ?
Adrese bir ICMP paketi gönderiyorlar.
Port kapalı olduğunda özel bir hata kodu dönüyor.
Böylece port kapalı/ulaşılamaz diye varsayılıyor.
Örnek var mi ?
UDP portunu kontrol etmenin kesin bir yolu yoktur.
Siz sunucuya bir UDP paketi gönderdiğinizde bundan cevap alıp almayacağınız tamamen sunucuya kalmış. Sunucular genelde ICMP protokolu ile size "Destination unreachable" mesajı gönderir.

Aşağıdaki resimde ilk satır benim gönderdiğim mesaj, ikincisi ise dönen cevap:

Ekran_Al%C4%B1nt%C4%B1s%C4%B1_ubmey7.png
Yani siz ICMP göndermeyeceksiniz, alacağınız cevap ICMP olacak. 
Ama dediğim gibi; bu durum tamamen sunucunun inisiyatifinde.



(04-09-2018, Saat: 07:57)s sahinoglu Adlı Kullanıcıdan Alıntı: [ -> ]Adrese bir ICMP paketi gönderiyorlar.
Port kapalı olduğunda özel bir hata kodu dönüyor.
Böylece port kapalı/ulaşılamaz diye varsayılıyor.

Aslında ping komutu zaten 32 byte'lık (varsayılan olarak) bir ICMP paketidir.

(04-09-2018, Saat: 08:24)SercanTEK Adlı Kullanıcıdan Alıntı: [ -> ]Örnek var mi ?

Synapse'nin PingSend kodlarını incelersen ICMP kullanıldığını göreceksin. Yani aslında sen zaten farkında olmadan ICMP yolunu denemiş oldun.
Alıntı:   TCP: UDP 'den daha yavaştır,çünkü verinin karşı tarafa ulaşıp ulaşmadığını kontrol eder.
  UDP: Ses ve video gönderiminde kullanılır. TCP'ye göre daha hızlıdır fakat güvenli değildir. Veri ismine datagram denilir.    
       Datagramın segmentten  farkı ise içerisinde sıra numarasının bulunmamasıdır.

UDP güvenilir olmayan bir aktarım protokolüdür. Ağ üzerinden paketi gönderir ama gidip gitmediğini takip etmez ve paketin yerine ulaşıp ulaşmayacağına onay verme yetkisi yoktur. UDP üzerinden güvenilir şekilde veri göndermek isteyen bir uygulama bunu kendi yöntemleriyle yapmak zorundadır.