SlideShare a Scribd company logo
SÜLEYMAN DEMİREL ÜNİVERSİTESİ
SİBER GÜVENLİK LABORATUVARI
Web Socket
Halil ARI
WebSocket
WebSocket
• WebSocket TCP protokolü üzerinden çift yönlü veri haberleşmesini sağlayan veri
transfer kanalıdır.
• HTML5 ile birlikte gelmiştir.
WebSocket
WebSocket
• Web uygulamalarında HTTP protokolü kullanılır.
• HTTP protokolü tek yönlü bir protokoldür.
• Web uygulamalarının genel mantığında istemci(client) server’a request
gönderir.Server gelen request’i alır,değerlendirir istemciye response gönderir.
WebSocket
WebSocket
• HTML önceden basit yapıdaydı.Yani gelen verileri düzgün biçimde göstermek
yeterliydi.
• Zamanla javascript kullanımı yaygınlaştı ve html sayfaları daha dinamik olmaya
başladı.
• Javascriptin yaygınlaşmasıyla beraber ajax kullanımı da arttı.
• Ajax ile sayfalarca sürüklenmeden,sayfa yeneilemeden değişiklikler yapıldı.
• Ajaxın dezavantajı ise ANLIK olmaması.
• Anlık değişim için javascriptin ‘setInterval()’ komutu kullanılmaya başlandı.
• Yani bu komut ile site içerisinde ki içerikler verilen saniye değeri ile
güncellenebiliyor.
• Basit web uygulamalarında ya da az kullanıcı web uygulamalarında bu komut işe
yarayabiliyor.
• Fakat bu yöntem real-time web uygulamalarında ya da çok kullanıcı uygulamalarda
siteyi yorar.
WebSocket
WebSocket
• Bilindiği gibi server’da bir değişiklik olduğu zaman client bu değişiklikten haberi
olmaz.Clientin değişiklikten haberi olması için server’a sürekli request gönderip
yeni değişiklikleri alması gerekir.
• Burada devreye WebSocket girdi.
• WebSocket TCP üzerinden çift yönlü haberleşmeyi sağlar.
• Yani server üzerinde bir değişiklik olduğu zaman client’den request gelmesine
gerek kalmadan değişiklikleri client’a gönderir.
• Sosyal platformların,real-time çok kullanıcılı uygulamaların artmasıyla beraber
WebSocket kullanımı çok fazla arttı.Ve siteyi yormadan,sayfalarca sürüklenmeden
değişikliklerden istemcinin haberdar olmasını sağladı.
WebSocket
WebSocket
• Websocket teknolojisi RFC 6455 ve Websocket Javascript API’dan oluşur.
• Java EE 7 ile birlikte gelen JSR 356 speği sayesinde Java’da websocket
uygulamaları geliştirilebilir.
• WebSocket server client’tan connection bekler.Connection sağlandığı zaman her iki
taraf arasında veri haberleşmesi yapılabilir.
WebSocket
WebSocket
• WebSocket callback listener;
1. onOpen = Connection sağlandığında çağırılır.
2. onMessage = Server’a mesaj geldiği zaman çağırılır.
3. onError = Server’da hata oluştuğu zaman çağırılır.
4. onClose = WebSocket bağlantısı kesildiği zaman çağırılır.
WebSocket
WebSocket
JAVA KODLARI
@ServerEndpoint("/ws")
public class WebSocketServer {
private static final Set<Session> clients = Collections.synchronizedSet(new
HashSet<Session>());
@OnOpen
public void onOpen(Session session) {
clients.add(session);
}
WebSocket
WebSocket
@OnMessage
public void onMessage(String message, Session client) throws IOException,
EncodeException {
String Username = (String) client.getUserProperties().get("username");
if (Username == null) {
client.getUserProperties().put("Username", message);
String adminString = "Connected User: " + message;
client.getBasicRemote().sendText(adminString);
} else {
Iterator<Session> iterator = clients.iterator();
while (iterator.hasNext()) {
String test = Username + " : " + message;
iterator.next().getBasicRemote().sendText(test);
}
}
}
WebSocket
WebSocket
@OnClose
public void onClose(Session session) {
clients.remove(session);
}
WebSocket
WebSocket
JAVASCRİPT KODLARI
<script>
var wsUrl = "ws://localhost:8080/WebSocketExample/ws";
websocket = new WebSocket(wsUrl);
websocket.onmessage = function processMessage(message) {
textArea.value += message.data+ "n";
};
function send() {
websocket.send(messageText.value);
messageText.value = "";
}
</script>

More Related Content

PPTX
IBM Yazılım Akademisi 2011 - Ender MERT
PPTX
SCVMM 2008 R2 Üzerine Virtual Machine Hostların ve Virtual Machinelerin Eklen...
PPTX
PDF
Python Metaprogramming
PDF
Hping, TCP/IP Paket Üretici
PPT
Linux 101 - Kullanıcı Yönetimi
PDF
Linux 101 - GNU/Linux Nedir ? Nasıl Kurulur?
PDF
Kablosuz Ağ Saldırı Araçları
IBM Yazılım Akademisi 2011 - Ender MERT
SCVMM 2008 R2 Üzerine Virtual Machine Hostların ve Virtual Machinelerin Eklen...
Python Metaprogramming
Hping, TCP/IP Paket Üretici
Linux 101 - Kullanıcı Yönetimi
Linux 101 - GNU/Linux Nedir ? Nasıl Kurulur?
Kablosuz Ağ Saldırı Araçları

Viewers also liked (16)

PDF
Man in the Middle Atack
PPTX
SDU Siber Güvenlik Zirvesi - Anıl Baran Yelken - Python ile Sızma Testi Araç...
PDF
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
PDF
Temel Ağ Sızma Testine Giriş Dökümanı
PDF
Kali linux
PPTX
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6
PPTX
Footprinting - Shodan
PPT
Linux 101 - Ağ Temelleri
PPTX
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
PDF
Kali ile Linux'e Giriş | IntelRAD
PDF
İleri Seviye Ağ Güvenliği Lab Kitabı
PPTX
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 19
PDF
Beyaz Şapkalı Hacker (CEH) Lab Kitabı
PPTX
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
PDF
Android Zararlı Yazılım Analizi ve Güvenlik Yaklaşımları
PDF
Etkin Siber Savunma i̇çin Tehdit Avcılığı
Man in the Middle Atack
SDU Siber Güvenlik Zirvesi - Anıl Baran Yelken - Python ile Sızma Testi Araç...
Beyaz Şapkalı Hacker Eğitimi Yardımcı Ders Notları
Temel Ağ Sızma Testine Giriş Dökümanı
Kali linux
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 4, 5, 6
Footprinting - Shodan
Linux 101 - Ağ Temelleri
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 7, 8, 9
Kali ile Linux'e Giriş | IntelRAD
İleri Seviye Ağ Güvenliği Lab Kitabı
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 19
Beyaz Şapkalı Hacker (CEH) Lab Kitabı
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 1, 2, 3
Android Zararlı Yazılım Analizi ve Güvenlik Yaklaşımları
Etkin Siber Savunma i̇çin Tehdit Avcılığı
Ad

Similar to Web Socket (13)

PDF
WEBSOCKET Protokolünün Derinlemesine İncelenmesi
PDF
Socket Programming.pdf
PDF
Jstanbul, Node.js based Socket.IO, Express and HTML5 based Bingo Game
PPTX
Servlet Container Nedir?
PPTX
Python İle Ağ Programlama
PPTX
Node js part 1 shared
PPT
Internet.ppt_3
PDF
Web Uygulama Güvenliği Ve Güvenli Kod Geliştirme Eğitim Notlarım
PPTX
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
PPT
Mutant Web Applications
PDF
Siber Güvenlik ve Etik Hacking Sunu - 11
PDF
internet nedir
PPTX
WEBSOCKET Protokolünün Derinlemesine İncelenmesi
Socket Programming.pdf
Jstanbul, Node.js based Socket.IO, Express and HTML5 based Bingo Game
Servlet Container Nedir?
Python İle Ağ Programlama
Node js part 1 shared
Internet.ppt_3
Web Uygulama Güvenliği Ve Güvenli Kod Geliştirme Eğitim Notlarım
Beyaz Şapkalı Hacker CEH Eğitimi - Bölüm 16, 17, 18
Mutant Web Applications
Siber Güvenlik ve Etik Hacking Sunu - 11
internet nedir
Ad

Web Socket

  • 1. SÜLEYMAN DEMİREL ÜNİVERSİTESİ SİBER GÜVENLİK LABORATUVARI Web Socket Halil ARI
  • 2. WebSocket WebSocket • WebSocket TCP protokolü üzerinden çift yönlü veri haberleşmesini sağlayan veri transfer kanalıdır. • HTML5 ile birlikte gelmiştir.
  • 3. WebSocket WebSocket • Web uygulamalarında HTTP protokolü kullanılır. • HTTP protokolü tek yönlü bir protokoldür. • Web uygulamalarının genel mantığında istemci(client) server’a request gönderir.Server gelen request’i alır,değerlendirir istemciye response gönderir.
  • 4. WebSocket WebSocket • HTML önceden basit yapıdaydı.Yani gelen verileri düzgün biçimde göstermek yeterliydi. • Zamanla javascript kullanımı yaygınlaştı ve html sayfaları daha dinamik olmaya başladı. • Javascriptin yaygınlaşmasıyla beraber ajax kullanımı da arttı. • Ajax ile sayfalarca sürüklenmeden,sayfa yeneilemeden değişiklikler yapıldı. • Ajaxın dezavantajı ise ANLIK olmaması. • Anlık değişim için javascriptin ‘setInterval()’ komutu kullanılmaya başlandı. • Yani bu komut ile site içerisinde ki içerikler verilen saniye değeri ile güncellenebiliyor. • Basit web uygulamalarında ya da az kullanıcı web uygulamalarında bu komut işe yarayabiliyor. • Fakat bu yöntem real-time web uygulamalarında ya da çok kullanıcı uygulamalarda siteyi yorar.
  • 5. WebSocket WebSocket • Bilindiği gibi server’da bir değişiklik olduğu zaman client bu değişiklikten haberi olmaz.Clientin değişiklikten haberi olması için server’a sürekli request gönderip yeni değişiklikleri alması gerekir. • Burada devreye WebSocket girdi. • WebSocket TCP üzerinden çift yönlü haberleşmeyi sağlar. • Yani server üzerinde bir değişiklik olduğu zaman client’den request gelmesine gerek kalmadan değişiklikleri client’a gönderir. • Sosyal platformların,real-time çok kullanıcılı uygulamaların artmasıyla beraber WebSocket kullanımı çok fazla arttı.Ve siteyi yormadan,sayfalarca sürüklenmeden değişikliklerden istemcinin haberdar olmasını sağladı.
  • 6. WebSocket WebSocket • Websocket teknolojisi RFC 6455 ve Websocket Javascript API’dan oluşur. • Java EE 7 ile birlikte gelen JSR 356 speği sayesinde Java’da websocket uygulamaları geliştirilebilir. • WebSocket server client’tan connection bekler.Connection sağlandığı zaman her iki taraf arasında veri haberleşmesi yapılabilir.
  • 7. WebSocket WebSocket • WebSocket callback listener; 1. onOpen = Connection sağlandığında çağırılır. 2. onMessage = Server’a mesaj geldiği zaman çağırılır. 3. onError = Server’da hata oluştuğu zaman çağırılır. 4. onClose = WebSocket bağlantısı kesildiği zaman çağırılır.
  • 8. WebSocket WebSocket JAVA KODLARI @ServerEndpoint("/ws") public class WebSocketServer { private static final Set<Session> clients = Collections.synchronizedSet(new HashSet<Session>()); @OnOpen public void onOpen(Session session) { clients.add(session); }
  • 9. WebSocket WebSocket @OnMessage public void onMessage(String message, Session client) throws IOException, EncodeException { String Username = (String) client.getUserProperties().get("username"); if (Username == null) { client.getUserProperties().put("Username", message); String adminString = "Connected User: " + message; client.getBasicRemote().sendText(adminString); } else { Iterator<Session> iterator = clients.iterator(); while (iterator.hasNext()) { String test = Username + " : " + message; iterator.next().getBasicRemote().sendText(test); } } }
  • 10. WebSocket WebSocket @OnClose public void onClose(Session session) { clients.remove(session); }
  • 11. WebSocket WebSocket JAVASCRİPT KODLARI <script> var wsUrl = "ws://localhost:8080/WebSocketExample/ws"; websocket = new WebSocket(wsUrl); websocket.onmessage = function processMessage(message) { textArea.value += message.data+ "n"; }; function send() { websocket.send(messageText.value); messageText.value = ""; } </script>

Editor's Notes

  • #3: Güvenlik uzmanları, kurumlarının sahip oldukları bilgi güvenliği seviyesini geliştirmek adına ciddi emek sarfetmektedirler. Fakat her geçen gün yeni güvenlik açıkları ortaya çıkmakta ve kurumlar yeni tehditler ile karşı karşıya kalmaktadır.
  • #4: Güvenlik uzmanları, kurumlarının sahip oldukları bilgi güvenliği seviyesini geliştirmek adına ciddi emek sarfetmektedirler. Fakat her geçen gün yeni güvenlik açıkları ortaya çıkmakta ve kurumlar yeni tehditler ile karşı karşıya kalmaktadır.
  • #5: Güvenlik uzmanları, kurumlarının sahip oldukları bilgi güvenliği seviyesini geliştirmek adına ciddi emek sarfetmektedirler. Fakat her geçen gün yeni güvenlik açıkları ortaya çıkmakta ve kurumlar yeni tehditler ile karşı karşıya kalmaktadır.
  • #6: Güvenlik uzmanları, kurumlarının sahip oldukları bilgi güvenliği seviyesini geliştirmek adına ciddi emek sarfetmektedirler. Fakat her geçen gün yeni güvenlik açıkları ortaya çıkmakta ve kurumlar yeni tehditler ile karşı karşıya kalmaktadır.
  • #7: Güvenlik uzmanları, kurumlarının sahip oldukları bilgi güvenliği seviyesini geliştirmek adına ciddi emek sarfetmektedirler. Fakat her geçen gün yeni güvenlik açıkları ortaya çıkmakta ve kurumlar yeni tehditler ile karşı karşıya kalmaktadır.
  • #8: Güvenlik uzmanları, kurumlarının sahip oldukları bilgi güvenliği seviyesini geliştirmek adına ciddi emek sarfetmektedirler. Fakat her geçen gün yeni güvenlik açıkları ortaya çıkmakta ve kurumlar yeni tehditler ile karşı karşıya kalmaktadır.
  • #9: Güvenlik uzmanları, kurumlarının sahip oldukları bilgi güvenliği seviyesini geliştirmek adına ciddi emek sarfetmektedirler. Fakat her geçen gün yeni güvenlik açıkları ortaya çıkmakta ve kurumlar yeni tehditler ile karşı karşıya kalmaktadır.
  • #10: Güvenlik uzmanları, kurumlarının sahip oldukları bilgi güvenliği seviyesini geliştirmek adına ciddi emek sarfetmektedirler. Fakat her geçen gün yeni güvenlik açıkları ortaya çıkmakta ve kurumlar yeni tehditler ile karşı karşıya kalmaktadır.
  • #11: Güvenlik uzmanları, kurumlarının sahip oldukları bilgi güvenliği seviyesini geliştirmek adına ciddi emek sarfetmektedirler. Fakat her geçen gün yeni güvenlik açıkları ortaya çıkmakta ve kurumlar yeni tehditler ile karşı karşıya kalmaktadır.
  • #12: Güvenlik uzmanları, kurumlarının sahip oldukları bilgi güvenliği seviyesini geliştirmek adına ciddi emek sarfetmektedirler. Fakat her geçen gün yeni güvenlik açıkları ortaya çıkmakta ve kurumlar yeni tehditler ile karşı karşıya kalmaktadır.