Uzak bilgisayara baglanmak

Python ile ayni aga bagli bilgisayarin konusmasi icin basit chat programi yazdim fakat uzak bilgisayara baglanammiyorum bunun icin onereceyiniz bir modull varmi? veya ornek bri program varsa ona bakarak bilgi edine bilirim

Bulunduğunuz ağda port açarsanız, uzaktan da baglanabilirsiniz.

Mesela sitelerin çalıştığı serverlarda 80. port default olarak açıktır. Tarayıcılar bu portu kullanır aksi belirtilmediği sürece.

Merhaba, modem arayüzünden, kullandığınız bilgisayar için aşağıdaki resimde olduğu gibi bir tane port yönlendirin.

Resimde görülen yerel kullanıcıya, bilgisayarın IPv4 adresini yazıyorsunuz. IPv4 adresini komut satırından öğrenebilirsiniz:

Windows için:

ipconfig

Linux için:

ifconfig

Port yönlendirme işlemi tamamlandıktan sonra aşağıdaki scripti çalıştırarak public ip adresinizi öğrenin (modem arayüzünde de yazar public ip adresi).

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

try:
    import urllib.request as urllib
except ImportError:
    import urllib
url = "https://ident.me/"
public_ip = urllib.urlopen(url).read().decode("utf-8")
print(public_ip)

Bu ip adresini istemciye verin ve sizin modem arayüzünden yönlendirdiğiniz port ile bu ip adresini kullanarak sunucudan farklı bir ağda olan bir istemci sunucuya bağlansın.

Not: Sunucunun port ve adresinin bağlandığı kısma public ip adresini yazmayın, aşağıdaki gibi yazın.

# s'in socket olduğunu varsayalım.
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("", 12345))

Not: Public ip adresini ve portu istemci şu şekilde yazmalıdır:

# s'in socket olduğunu varsayalım.
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(("public_ip_adresiniz", 12345))
1 Beğeni

boyle programlar modem uzerinden port acmakla oluyorsa acaba Teamviewer gibi programlar nasil calisir ? onun mantgi nedir modem arayuzune girmeden port-mu aciyorlar

Teamviewerin arka planinda ne tur islemlerin yurutuldugunu bilmiyorum. Teamviewer bizim uzerinde durdugumuz socket uygulamasindan daha kapsamlı bir program. Bazı işlemler otomatik olarak program tarafindan gerceklestiriliyor olabilir. Ayrica port yonlendirmekle alakali python programı (python2 için) oldugunu birisi bana soylemisti. Ben de Python2 kullanmadığım için bu programı denememiştim.

Team viewer gibi programlar, arkasinda bir sunucu bulundurur. Yani size bağlanan kişinin gönderdikleri direk size gelmez, önce sunucuya oradan da size. P2P(Peer to peer) degil.

TeamViewer gibi programların kendi serverleri vardır yani bir odada server makinesi ve teamviever base serverin caliştiği yazılım vardır.

sen Download/TeamViewer
Burdan teamvieve’i indirdiğin zaman aslında teamviewer’in clientini indirmiş olursun clienti çalıştırdığın zaman serverların bağlanmiş olursun. Serverlarda seni başkla clientlere bağlanmanı sağlar. Kaba mantık olarak bu.

Bence sorunu TeamViewer ile çözülmez çünkü bu programla bağlandığın bilgisayara tümüylen hükmediyorsun ama arkadaş onu yaparsa kendi yaptığı cheat programı bir işe yaramaz. Onun istediği ancak kendi pc sinde ve uzaktakinde internet olursa ve uzaktan erişim için güvenlik duvarlarını birbirine açarsa sonra ikiside modemlerinden birbirinin ipsi ile bağlantı kurarsa olur. Yada bir site kuracak ve program bu site üzerinden mesajları cheat programının kullanıcılarına gösterecek.

Cevaplarda biraz hata var. TeamViewer server kullanmaz. PeerToPeer veya UPnP teknoloji kullanarak işlemleri halleder. Eğer server kullanırsa iki katmanlı bir izleme göz önünde olacaktı. Bu da yavaş bir performansa sebep olurdu. PeerToPeer teknolojisi sayesinde iki client arasında(arada bir aracı olmadan) direkt bağlantı oluşturarak; işleminizi hızlı kontrol ediyor.

NOT: Sistem olarak TeamViewer serverları mevcut fakat bu serverlar client applicationlar için geçerli değildir.

Şurada bulunan onaylı cevabı okumanızı öneririm.

1 Beğeni