Hakan bey şu şekilde ifade etmeye çalışayım;

 

Bildiğiniz gibi haberleşmeler OSI katmanlarından geçerek meydana gelirler.
En aşağıda network kabloları onun üstünde network kartımız var diyelim.
Burası Layer 2. Burada MAC var. Onun üstünde IP. Bu da Layer 3. Onun üstünde
haberleşme portları. Onun üstünde de protokoller. 

 

Hangi uygulama olursa olsun bu katmanlardan teker teker geçmek zorunda. Ki
zaten uygulama bu katmanların en üstünde yer alıyor. Yani 7.katmanda. o
sebeple yazılan tüm uygulamaların bu katmanları kullanmaları şart. IP, port
ya da protokol olmadan uygulamaların haberleşmesi sizin de bildiğiniz gibi
olanaksız. Her katman kendisine gelen paketi alır işler ve bir sonrakine
iletir. Bir sonraki yöne göre değişir. Gelen paket ise işi biten paket üst
katmana, giden paket ise alt katmana iletilir.

 

Kullanılan uygulamalara gelince, ister kazaa olsun, ister e-donkey, ister
limewire ister başka bir uygulama. Bu uygulamaların tamamı da yine port
mantığına dayanır. Yani aslında tüm bu programı kullananlar sizin bu
programların özellikler kısmında ayarladğınız ve benden dosya almak
isteyenler benim bu portuma gelsin diye yayınladığınız portlara bağlanmaya
çalışırlar. ( diğerlerinin sizden dosya çekmeleri için ). Bu portları siz
kendinize göre değiştirebilirsiniz. Ve bunu yayınlarsınız. Bu yayınınız o
uygulamaların serverlarına bağlanınca diğer kullanıcılara bildirilir ve
isteyenler bu portunuza bağlanarak sizden dosya almaya çalışırlar. Ancak siz
adsl den bir ayarlama yapmadıysanız örneğin 4777 porta gelen isteği
içerideki 192.168.1.5:477 portuna ilet demediyseniz bu kullanıcının isteği
adsl önünde düşürülecektir. Yani normalde ve aslında ADSL arkasındaki
kullanıcılar sadece download yaparlar. Bu port yönlendirmeyi yapmadığınız
sürece kimse sizden dosya çekemez. Ancak siz de sadece bu özelliği aktive
eden kullanıcılardan çekebilirsiniz.

 

Ancak bazı programlar şu şekilde bir şey yapar. Sizin port erişiminizi
kontrol ederler. Eğer sizin yayınladığınzı portunuza dışarıdan erişim yoksa
download rate inizi düşürürler ve hatta tamamen keserler. Yani portunuza
dışarıdan erişim yoksa bazı göstergeler turuncu yada kırmızı olur. Bu da
download hızınız düşük olacak demektir. ya da tamamen kapalı. Bunu aşmak
için bu port yönlendirmenin nasıl yapıldığı ile ilgili hemen link verirler
programların sayfasında.

 

http://forum.donanimhaber.com/m_1012655/tm.htm

http://www.hardwaremania.com/forum/donanim/network/kazaa-port-yonlendirme-23
544.html

http://portforward.com/cportsnotes/edonkey/eDonkey.htm

 

Ancak, eğer bağlantı içeriden dışarıya, yani bu programlarda olduğu gibi,
adsl arkasındaki bir pc den, yine adsl arkasında olupta sadece belirli bir
port için yönlendirme yapılmış başka bir noktaya erişim sağlanabilir.

 

Örneğin netcat uygulamaları ve diğer bunun gibi programlar bu amaçlıdır. Ve
kötü amaçla da kullanılabilirler. 

Mesela Siz adsl modeminizden 9999 portunu kendi PC nizin 9999 portuna
yönlendirdiniz diyelim. Bir virüs ya da teknik destek uygulaması yazdınız.
Sayısı da 1000 adet olsun. Bunun 1000 kişiye yaydınız ya da sattınız
diyelim.

 

Kullanıcılar tarafından kullanılan tüm programlar local portları önemsiz
olduğundan ve hedef olarak ta 9999 portuna bağlanmak isteyeceklerinden eğer
LAN larının çıkışında 9999 portuna erişimleri engelleyen bir uygulama yoksa
sizin portunuza erişeceklerdir. 9999 portu Pcüzerindeki herhangi bir
firewall dan ya da gateway üzerinden kapalı ise erişim gerçekleşmeyecektir.

Tüm kullanıcılar aynı anda ( kapasiteye bağlı olarak ) sizin 9999 portunuza
bağlanabileceklerdir. Porta ve IP ye erişim olduktan sonra katmanlar arası
iletişim aynen tekrar uygulanır.

 

Bu uygulamanın erişeceği port un 9999 olmasından dolayı engellenmesini
istemiyorsanız normal bir port olarak ta belirtebilirsiniz. Örneğin 80. Siz
port yönlendirmenizi ADASL üzerinden 80 olarak yapabilirsiniz.

 

ADSL in 80 ine gelen isteği 192.68.1.5 in 80 ine. Ya da 9999 una. Bu size
kalmış. Port 80 de illaki HTTP çalışacak diye bir kural yok.  Burada siz
kendi servisinizi çalıştırıyor olabilirsiniz. Ancak bu seferde PC üzerindeki
FW .exe dosyanızın port 80 isteği yaptığı alarmını kullanıcıya verebilir.
Burada kullanıcının bilgilendirilerek buna izin vermesi istenmelidir.

 

Buna izin verseniz dahi GW üzerinde çalıştırılan bir uygulama port 80 den
sadece HTTP trafiğine izin verecek şeklinde tasarlanmış olabilir. Bu halde
PC den çıkan istek GW üzerinde IPS / IDS / IDP lerden birine takılacaktır.

 

Bu sebeplerden dolayı yazacağınız programda bunları göz önünde bulundurarak,
son kullanıcı tarafından tarafınıza istek gelmesini sağlarsanız ADSL
arkasındaki kullanıcılara erişimde tarafınızdan kaynaklı bir sorun
olmayacaktır. Bunun için bağlanılacak olan portu sizin tarafınızda
dinlemeniz ve yönlendirmeniz yeterli. Bağlantı 2 taraftanda oluşturulamaz bu
durumda. Kullanıcıdan "yardım iste" diye bir butona basarak bağlantı
isteğinin onların tarafından başlatılmasını istemelisiniz. Sanırım adı
socket programlama. Bu yardım uygulamanın ADSL arkasında olmayıp FW
arkasında olan kullanıcılar için de kullanılabilir olduğunu düşündüğümden
diğer konulara da azcık girdim.

 

MSN de kullanıcılar birbirleri ile direkt olarak bağlantı kurmuyorlar diye
biliyorum. Dosya gönderseniz dahi bunu halleden MSN SERVER ları diye
hatırlıyorum. Proxy olayı devreye giriyor o noktada saırım.

 

Umarım yardımcı olur.

 

İyi çalışmalar...

 

From: Hakan K [mailto:[EMAIL PROTECTED] 
Sent: Saturday, December 08, 2007 7:15 PM
To: freebsd@lists.enderunix.org
Subject: RE: [FreeBSD] Alt ağlar arası iletişim...

 

Mesut Hocam, 
cevap için teşekkür ederim ama aradığım bu değil aslında.

Şöyle anlatmaya çalışayım bir de:

Siz adsl modemin arkasındaki bir müşterisiniz, ben de adsl modem arkasındaki
teknik eleman. Ben sizin bilgisayarınıza bağlantı kurup işi çözmek
istiyorum. Sizin modem üzerinde herhangi bir ayar(Port yönlendirme, NAT vb.)
yapma şansınız yok. Bunu yapabilse zaten müşterinin desteğe ihtiyacı olmaz
:). Ben sizin makineye nasıl bağlantı kurarım? Aradığım şey bu ama bu işin
özünü öğrenmek isterim. Yani bu işi yapan dolu yazılım var tabii. Yazılım
aramıyorum, teknik bilgi arıyorum.
Örneğin msn üzerinden iki kişi(ikisi de adsl router arkasında) nasıl
birbirine dosya gönderebiliyor? limewire programında nasıl bir istemci diğer
bir istemcinin dosyalarını çekebiliyor(ikisi de adsl router arkasında
tabii)?

Uzaktaki müşteriler için bir destek yazılımı geliştiriyoruz varsayalım.
Umarım soruyu netleştirebilmişimdir.

Tekrar teşekkürler...




  _____  

From: [EMAIL PROTECTED]
To: freebsd@lists.enderunix.org
Date: Sat, 8 Dec 2007 19:08:34 +0200
Subject: RE: [FreeBSD] Alt ağlar arası iletişim...

http://ipucu.enderunix.org/view.php?id=248
<http://ipucu.enderunix.org/view.php?id=248&lang=tr> &lang=tr

 

ya da

 

http://www.inndir.com/program.php?id=32296

http://www.hamachiturk.net/forum/

 

ancak en güzeli ilk gönderdiğim. Lakin hamachi ile de bunu yapabilirsiniz
ancak NAT yapılan sistemler arkasında sorunlar ile karşılaşabilirsiniz.

 

Ya da herhangi bir VPN uygulaması ile iki makine arasında VPN kurmak...

 

İyi çalışmalar...

 

From: Hakan K [mailto:[EMAIL PROTECTED] 
Sent: Saturday, December 08, 2007 6:51 PM
To: freebsd@lists.enderunix.org
Subject: [FreeBSD] Alt ağlar arası iletişim...

 

Merhaba,

Doğrudan FreeBSD ile ilgili değil ama sorum şöyle:

Gerçek ip'si  olmayan alt ağdaki bir makineye doğrudan bağlantı kurulabilir
mi?

Örnek vermek gerekirse:
A ve B makineleri internete adsl router üzerinden çıkıyor olsunlar.
A'nın alt ağ adresi: 15.25.35.45
B'nin alt ağ adresi: 1.1.1.1


A makinesinden B makinesine bağlantı kurulmak isteniyor diyelim. Mesela
dosya paylaşım programları istemciler arasında doğrudan bağlantı
kurabiliyor. Ya da vnc gibi uzak masaüstü yazılımları da bunu yapıyor.
router üzerinde port yönlendirme yapılarak çözülebilir ama aradığım çözüm bu
değil. Zira dosya paylaşım yazılımları bunu yapmadan da çalışıyor. 

Yani bağlantı oluştururken "şu gerçek ip'nin altındaki şu adrese" diye bir
işaretleme yapılabiliyor mu?

Şimdiden teşekkürler...

  _____  

Yeni nesil Windows Live Servisleri'ne şimdi ulaşın! Buraya tıkla!
<http://get.live.com> 

 

  _____  

Yeni nesil Windows Live Servisleri'ne şimdi ulaşın! Buraya tıkla!
<http://get.live.com> 

Cevap