• Oturum aç
Tech News, Magazine & Review WordPress Theme 2017
  • Haberler
  • Kategoriler
    • Bilim
    • Teknoloji
    • Girişimcilik
    • Kripto Para
    • Oyun
    • Yazılım
    • Otomotiv
    • Kültür Sanat
    • Tasarım
    • Savunma Sanayi
    • Siber Güvenlik
  • Etkinlikler
  • Mühendislikler
  • Mühendisin Köşesi
Sonuç yok
Tüm Sonuçları Görüntüle
MühendisBilir
Sonuç yok
Tüm Sonuçları Görüntüle

Soketler – TCP İstemci Sunucu

Saniye Nur Çintimur Saniye Nur Çintimur
10/02/2020
Okuma Zamanı: 3 dk.
260 11
0
Share on FacebookShare on Twitter

Bir önceki yazımızda datagramlarla çalışmıştık.UDP ile, datagramlarda bağımsız paketlerle çalışıyordu.TCP tipi bağlantılarda istemci ve sunucu arasında karşılıklı bir etkileşim ve iletişim bulunur. Bilgi akışı denetim altındadır. Arada paket kaybı yaşanmaz.

İLGİLİ İÇERİKLER

Bir Teknoloji Şirketi Yapay Zeka Teknolojisini Kullanarak Metaverse için Sanal İnsanlar Yaratıyor

Facebook, Gelecekte Bütün Sosyal Ağlarını Tek Çatıda Toplayacak

Tesla’nın Asıl Rakibi Belli Oldu: Haftanın Öne Çıkan Otomobil Haber Özetleri

 

Şimdi de Tcp server ve client yazalım.

Önce istemci tanımlayalım :

#!/usr/bin/python

# -*- encoding: utf-8 -*-

#ax-tcp-sunucu.py

from socket import * // soket fonksiyonlarını import ettik

hedef_sunucu = “www.google.com.tr”   //hedef sunucumuzu google.com.tr olarak tanımladık.

hedef_port = 80   // 80 yazmamızın sebebi 80 http port no oldugu için

istemci = socket(AF_INET,SOCK_STREAM)   //burada tcp de oldugumuz için sock_stream tanımladık.çünkü süreklilik söz konusu

istemci.connect((hedef_sunucu, hedef_port))  // burada bağlantı kuruyoruz.

istemci.send(“GET / HTTP/1.1rnHost: google.com.trrnrn“)   // burada sunucuya bir bilgi gönderiyoruz.

response = istemci.recv(4096)   // burada 4096 bytelık biğr buffer a bilgi çekiyoruz print ile de ekrana bastırıyoruz.

print (response)

 

Fakat eğer yerel sunucu atayacak isek google değil aşagıdaki komutları kullanıyoruz

#!/usr/bin/python

# -*- encoding: utf-8 -*-

#ax-tcp-sunucu.py

from socket import * // soket fonksiyonlarını import ettik

hedef_sunucu = “localhost”

hedef_port = 9999

istemci = socket(AF_INET,SOCK_STREAM)   //burada tcp de oldugumuz için sock_stream tanımladık.çünkü süreklilik söz konusu

istemci.connect((hedef_sunucu, hedef_port))  // burada bağlantı kuruyoruz.

istemci.send(“GET / HTTP/1.1rnHost: google.com.tr /r/n/r/n“)   // burada sunucuya bir bilgi gönderiyoruz.

response = istemci.recv(4096)   // burada 4096 bytelık biğr buffer a bilgi çekiyoruz print ile de ekrana bastırıyoruz.

print (response)

 

Şimdi istemciyi çalıştırıyoruz.

Portu 9980 ile değiştir bakalım sonuç alacaz mı , (alamıyoruz ekran kaydı koy buraya)

 

Her zaman karşımızda hazır mı sunucu olmayabilir. Bazen kendi sunucumuza ihtiyaç duyabiliriz.

Şimdi kendi sunucumuzu yazalım :

#!/usr/bin/python

# -*- encoding: utf-8 -*-

#ax-tcp-sunucu.py

from socket import *

import threading   // sunucuda farklı olarak threading paketini kullanıyoruz.Eş zamanlı olarak birkaç işlemi birden yapmak istediğimiz zaman kullandıgımız bir özellik.

 

bind_ip = “0.0.0.0”

bind_port = 9999

sunucu = socket(AF_INET, SOCK_STREAM)

sunucu.bind((bind_ip, bind_port))   //bağlantımızı yaptık

sunucu.listen(5)  // 5 ayrı kanaldan dinleme yapmasını söyledik.

print (“[*] Dinliyor : %s:%d” % (bind_ip, bind_port))

 

def handle_istemci(istemci_soket):

request = istemci_soket.recv(2048)  //2048 bytelık bir buffer açarak karşı tarafı dinliyoruz.

print (“[*] %s alındı” % request)  // bilgiyi ekrana yazıyoruz

istemci_soket.send(“ACK!”)  // buradaki ACK işlevi ise bilgiyi aldıgımızı karşı tarafa bildirmek.

istemci_soket.close()

 

while True:

istemci, adres = sunucu.accept()

print (“[*] %s:%d bağlantısı kabul edildi.” % (adres[0], adres[1]))

istemci_handler = threading.Thread (target=handle_istemci,args=(istemci,)) // çoklu dinleme yapmamız için gerekli kısım burası. hadle_istemci  fonksiyonunu çağırıyoruz.argüman olarakta istemci değişkeni.

istemci_handler.start()  //bu çoklu dinleme işleminide burada başlatmış oluyoruz.

Önce sunucu sonra istemci çalıştır.

Gördüğünüz gibi dinleme mesajını verdi.

Şimdi istemciyi çalıştıralım :

 

Bağlantımızı kabul etti ve ACK onay mesajınıda solda görüyorsunuz.

 

TCP ile de bağlantı kurmuş olduk.

Gördüğünüz üzere TCP protokolü kullanarak hem istemci hem sunucu oluşturduk.Gayet kolay.İstediğiniz gibi kodlarla oynayıp değişik şeylerde yapabilirsiniz.Biz Elimizden geldiğince kolay anlatmaya çalıştık.Komplex yapılar oluşturmak sizin elinizde … İyi çalışmalar.

 

 

Python ile Socket Programlama 2

İçeriklerden ilk siz haberdar olmak ister misiniz?

Abonlikten Çık
Saniye Nur Çintimur

Saniye Nur Çintimur

Adli Bilişim Mühendisi ,Siber Güvenlik Araştırmacısı, Offensive Security ilgili https://www.hackthebox.eu/home/users/profile/240523 https://tryhackme.com/p/sny @HackTheBox @PriviaHub @TryHackMe @CTFPlayer

İlişkili Gönderiler

Bir Teknoloji Şirketi Yapay Zeka Teknolojisini Kullanarak Metaverse için Sanal İnsanlar Yaratıyor

Bir Teknoloji Şirketi Yapay Zeka Teknolojisini Kullanarak Metaverse için Sanal İnsanlar Yaratıyor

31/10/2021
2k
Facebook, Gelecekte Bütün Sosyal Ağlarını Tek Çatıda Toplayacak

Facebook, Gelecekte Bütün Sosyal Ağlarını Tek Çatıda Toplayacak

01/10/2021
2k
Tesla’nın Asıl Rakibi Belli Oldu: Haftanın Öne Çıkan Otomobil Haber Özetleri

Tesla’nın Asıl Rakibi Belli Oldu: Haftanın Öne Çıkan Otomobil Haber Özetleri

18/09/2021
2k
Sadece Devletler’e Satışı Olan “Pegasus Casus Yazılımı” Nedir? Kimleri Hedef Alıyor?

Sadece Devletler’e Satışı Olan “Pegasus Casus Yazılımı” Nedir? Kimleri Hedef Alıyor?

22/07/2021
4.2k
Tartışmaya katılmak için lütfenGiriş Yapın

Trend.

Güvenliğiniz İçin Kırılması Zor Şifre Önerileri

Güvenliğiniz İçin Kırılması Zor Şifre Önerileri

07/02/2021
286.9k

Bir Elektrik ve Elektronik Mühendisi Adayının Öğrenirse Kendine Katkı Sunacağı 10 Program

22/01/2021
52.8k
Temel Olarak Araba Parçaları Nelerdir ve Ne İşe Yarar?

Temel Olarak Araba Parçaları Nelerdir ve Ne İşe Yarar?

10/11/2020
30k

Mühendisin Köşesi.

Adli Bilişim Mühendisliği Nedir, Ne İş Yapar?

07/11/2020
13.9k
Makine Mühendisliği Bölümü Nedir?

Makine Mühendisliği Bölümü Nedir?

10/11/2020
5.9k
Çevre Mühendisliği Bölümü Nedir?

Çevre Mühendisliği Bölümü Nedir?

10/11/2020
4.6k
  • Gizlilik Politikası
  • Hakkımızda
  • Yazarlar
  • Yazarımız Ol
  • Sosyal Medya Sponsorluğu ve Partnerlik Programı
  • İletişim

© 2021 Muhendis Bilir - Powered by

Sonuç yok
Tüm Sonuçları Görüntüle
  • Haberler
  • Etkinlikler
  • Mühendislikler
  • Mühendisin Köşesi
  • Kategoriler
    • Bilim
    • Girişimcilik
    • Kültür Sanat
    • Otomotiv
    • Savunma Sanayi
    • Siber Güvenlik
    • Tasarım
    • Teknoloji
  • Sosyal Medya Sponsorluğu ve Partnerlik Programı
  • Yazarımız Ol
  • Oturum aç

© 2021 Muhendis Bilir - Powered by

Tekrar hoşgeldiniz!

Google ile giriş yap
Veya

Hesaba giriş yap

Şifremi unuttum

Yeni hesap oluştur

Sign Up with Google
Veya

Kayıt olmak için formu doldurun

Tüm Alanlar Zorunludur Oturum aç

Şifrenizi Geri Alın

Şifreyi sıfırlamak için ayrıntı girin

Oturum aç

Yeni Oynatma Listesi Ekle

Veri politikasındaki amaçlarla sınırlı ve mevzuata uygun şekilde çerez konumlandırmaktayız. Detaylar için Gizlilik Politika'mızı inceleyebilirsiniz. .