Aplikasi Menggunakapn TCP/IP Socket
dibuat oleh : Ivan Septian
II. Studi Pustaka


III. Metodologi
A.
Part 1
1)
Cari tahu
alamat IP dari web www.uns.ac.id (atau website lain)
2)
Buka
wireshark
a) Pilih adapter akses internet
b) Filter dengan (ip.addr==<IP dari web yang
diakses>)
c) Jalankan wireshark

d) Buka
e) Amati wireshark, catat
B.
Part 2
1)
Buka IDE
python
2)
Buat dua
Program
a) Echo Server, echo_server.py


b) Echo Client, echo_client.py

3)
Buka
wireshark
a) PIlih interface yang digunakan (dalam hal ini
Adapter Loopback)
b) Isi filter dengan nama port server “port ==
<nomor port>”
4)
Jalankan
program echo_server.py, kemudian jalankan echo_client.py
·
Program echo server berfungsi mengirimkan pesan balik yang diterima
·
Program echo client mengirimkan pesan dan memprint pesan yang diterima

5) Amati wireshark

6) Ulangi percobaan untuk
(sampai berhasil)
a) PC dengan VMWare (Jalankan
kode python echo server/klien di ubuntu)
b) PC dengan PC lain
terkoneksi melalui Wifi
IV. Hasil dan Analisis
A.
Part 1

B.
Part 2
1)
Eksperiment 1Komunikasi
dengan Adaptor Loobback PC
V. Kesimpulan
Daftar Pustaka
Abstrak—Socket adalah titik komunikasi dari lalu lintas
komunikasi antar proses di dalam sebuah jaringan komputer. Hampir semua
komunikasi antar komputer sekarang berdasarkan protokol internet, oleh karena
itu hampir semua socket di jaringan komputer adalah Socket Internet. Hampir semua sistem operasi menyediakan
application programming interface (API) yang memungkinkan sebuah aplikasi
komputer mengkontrol dan menggunakan socket jaringan komputer. API socket
internet biasanya berdasarkan pada standar berkeley sockets.
Sebuah alamat socket
terdiri atas kombinasi sebuah alamat ip dan sebuah nomor port, mirip seperti
sebuah koneksi telpon yang memiliki nomor telpon dan nomor ekstensinya.
Berdasarkan alamat ini, socket internet mengirim paket data yang masuk ke
sebuah proses atau thread aplikasi tujuan
Kata
kunci—IP,port, socket,
I. Pendahuluan
Teknologi komputer saat ini berkembang
sangat cepat, baik dari sisi perangkat keras (hardware) dan perangkat lunak
(software) yang ada. Karena begitu cepatnya perkembangan teknologi ini, manusia
dapat mengakses segala jenis informasi dengan mudah dan cepat meskipun jarak
yang berjauhan sehingga dapat meningkatkan efisiensi dan efektifitas dalam
melakukan pekerjaan. Dari banyaknya teknologi yang telah ditemukan dan
dikembangkan, Database Access adalah salah satu perangkat lunak yang didesain
untuk membantu memelihara dan memanfaatkan kumpulan data yang cukup besar. Tetapi
ada suatu kekurangan pada perangkat lunak ini, yaitu database access tidak
dapat menjadi database server. Berdasarkan latar belakang tersebut, penulis
mengangkat kasus ini menjadi skripsi dengan mengambil judul: Implementasi
TCP/IP Untuk Membuat Server Database Access. Tujuan dari penelitian dibangunnya
“Implementasi TCP/IP untuk Membuat Server Database Access” adalah membuktikan
database access dapat menjadi server database access dengan cara
mengimplementasikan TCP/IP. [1]
II. Studi Pustaka
Dalam protokol jaringan
TCP/IP, sebuah port adalah mekanisme yang mengizinkan sebuah komputer untuk
mendukung beberapa sesi koneksi dengan komputer lainnya dan program di dalam
jaringan. Port dapat mengidentifikasikan aplikasi dan l ayanan yang menggunakan
koneksi di dalam jaringan TCP/IP. Sehingga, port juga mengidentifikasikan
sebuah proses tertentu dimana sebuah server dapat memberikan sebuah layanan
kepada klien atau bagaimana sebuah klien dapat mengakses sebuah l ayanan yang
ada dalam server. Port dapat dikenali dengan angka 16-bit ( dua byte) yang
disebut dengan Port Number dan diklasifikasikan dengan jenis protokol transport
apa yang digunakan, ke dalam Port TCP dan Port UDP. Karena memiliki angka
16-bit, maka total maksimum jumlah port untuk setiap protokol transport yang
digunakan adalah 65536 buah. Dilihat dari penomorannya, port
UDP dan TCP dibagi menjadi tiga jenis, yakni sebagai berikut:
Well-known Port: yang pada awalnya berkisar antara 0 hingga 255 tetapi
kemudian diperlebar untuk mendukung antara 0 hingga 1023. Port number yang
termasuk ke dalam well-known port, selalu merepresentasikan layanan jaringan yang
sama, dan ditetapkan oleh Internet Assigned Number Authority (IANA). Beberapa
di antara port-port yang berada di dalam range Well-known port masih belum
ditetapkan dan direservasikan untuk digunakan oleh layanan yang bakal adapada
masa depan. Well-known port didefinisikan dalam RFC 1060.
Registered Port: Port-port yang digunakan oleh vendor-vendor komputer atau
jaringan yang berbeda untuk mendukung aplikasi dan sistem operasi yang mereka
buat. Registered port j uga diketahui dan didaftarkan oleh IANA tetapi tidak
dialokasikan secara permanen, sehingga vendor
lainnya dapat menggunakan
port number yang sama. Range registered port berkisar dari 1024 hingga 49151
dan beberapa port di antaranya adalah Dynamically Assigned Port.
Dynamically Assigned Port: merupakan port-port yang ditetapkan oleh sistem
operasi atau aplikasi yang digunakan untuk melayani request dari pengguna
sesuai dengan kebutuhan. Dynamically Assigned Port berkisar dari 1024 hingga
65536 dan dapat digunakan atau dilepaskan sesuai kebutuhan.

Gambar 2. 1 Dynamically Assigned Port
Socket Programming
Socket adalah penghubung
antara dua aplikasi yang dapat berkomunikasi satu sama l ain ( baik secara
lokal pada satu mesin atau secara jarak jauh antara dua mesin di lokasi
terpisah). Pada dasarnya, socket berfungsi sebagai tautan komunikasi antara dua
entitas, yaitu server dan klien. Server akan memberikan i nformasi yang diminta
oleh klien. Misalnya, ketika Anda mengunjungi halaman ini, browser membuat
socket dan terhubung ke server.

Gambar 2. 2 Konesi Socket Server
III. Metodologi
Prosedur pengerjaan
pada praktikum ini adalah sebagai berikut :
A.
Part 1
1)
Cari tahu
alamat IP dari web www.uns.ac.id (atau website lain)
2)
Buka
wireshark
a) Pilih adapter akses internet
b) Filter dengan (ip.addr==<IP dari web yang
diakses>)
c) Jalankan wireshark

d) Buka
·
Google
chrome, akses web di poin pertama
·
New tab pada
chrome, akses web di poin pertama
·
Internet
explorer, akses web di poin pertama
e) Amati wireshark, catat
·
IP server
(web yang diakses)
·
Port server
·
IP client (Ip
komputer anda sendiri)
·
Port client
(port yang digunakan)
B.
Part 2
1)
Buka IDE
python
2)
Buat dua
Program
a) Echo Server, echo_server.py


Gambar 3. 1 Program Pertama
b) Echo Client, echo_client.py

Gambar 3. 2 Program Kedua
3)
Buka
wireshark
a) PIlih interface yang digunakan (dalam hal ini
Adapter Loopback)
b) Isi filter dengan nama port server “port ==
<nomor port>”
4)
Jalankan
program echo_server.py, kemudian jalankan echo_client.py
·
Program echo server berfungsi mengirimkan pesan balik yang diterima
·
Program echo client mengirimkan pesan dan memprint pesan yang diterima

Gambar 3. 3 echo server dan echo client
5) Amati wireshark

Gambar 3. 4 Wireshark
6) Ulangi percobaan untuk
(sampai berhasil)
a) PC dengan VMWare (Jalankan
kode python echo server/klien di ubuntu)
b) PC dengan PC lain
terkoneksi melalui Wifi
IV. Hasil dan Analisis
A.
Part 1

Ip server
|
Nomor Port
|
IP Client
|
Nomor Port
|
|
Akses Chrome Tab 1
|
103.23.226.13
|
443
|
192.168.43.218
|
54908
|
Akses Chrome Tab 2
|
103.23.226.13
|
443
|
192.168.43.218
|
54908
|
Akses IE
|
103.23.226.13
|
443
|
192.168.43.218
|
64565
|
Apa yang membedakan 3 koneksi
diatas?
-perbedaan koneksi diatas adalah pada port, yaitu ketika berbeda akses.
Analisis : tracert digunakan sebagai
salah satu cara untuk mengetahui ip address yang dituju, penggunaan wireshark
adalah untuk mengetahui port pada web yang dituju. Dengan mencoba menampilkan 1
web yang sama namun dengan dengan akses yang berbeda-beda, yaitu chrome dengan
tab 1 dan 2 serta menggunakan internet explorer. Namun dengan akses yang
berbeda port yang terlihat pada
wireshark juga berbeda, ini membuktikan teori bahwa
B.
Part 2
1)
Eksperiment 1Komunikasi
dengan Adaptor Loobback PC
IP Server
|
Nomor Port
|
IP Client
|
Nomor Port
|
127.0.0.1
|
65432
|
127.0.0.1
|
8324
|
Eksperimen 2: Komunikasi Menggunakan VMware
IP Server
|
Nomor Port
|
IP Client
|
Nomor Port
|
127.0.0.1
|
65432
|
127.0.01
|
56721
|
Analisi : Jika hanya menggunakan 1 PC maka IP addres pada server dan Client
akan sama namun port tetap akan berbeda karena satu untuk menerima dan lainnya
untuk mengirim
Eksperimen 3: Komunikasi antar PC menggunakan jaringan
IP Server
|
Nomor Port
|
IP Client
|
Nomor Port
|
10.40.83.108
|
65432
|
127.0.01
|
64393
|
Analisa : Dengan berbedanya komunikasi antar PC yang berbeda maka bisa
dipastikan bahwa IP dan port berbeda
1.
Apa fungsi
port dan socket
-
Port
berfungsi sebagai alat identifikasi aplikasi dan layanan menggunakan TCP/IP
sedangkan socket berfungsi untuk tautan komunikasi antara 2 entitas.
2.
Apa fungsi
flag SYN, ACK, PSH, FIN pada wireshark
-
SYN :membuat
koneksi dengan komputer atau server yang ingin dituju
-
ACK: menerima
persetujuan koneksi yang akan dibuat oleh penerima
-
PSH :
Mengindikasi isi TCP yang diterima client menjadi PSH=1 maka tidak boleh ada
yang hilan
-
FIN :
Menandakan pengiriman TCP telah selesai
3.
Membuat
aplikasi Chatting sederhana
- Server
# Server Side Script
# Supports Python v3.*
from socket import *
server_port = 5000
server_socket = socket(AF_INET,SOCK_STREAM)
server_socket.bind(('',server_port))
server_socket.listen(1)
print ("Welcome: The server is now ready to
receive")
connection_socket, address = server_socket.accept()
while True:
sentence =
connection_socket.recv(2048).decode()
print('>> ',sentence)
message =
input(">> ")
connection_socket.send(message.encode())
if(message ==
'q'):
connectionSocket.close()
- Client
# Client Side Script
# Supports Python v3.*
fromsocket
import
*
server_name=
'localhost'
server_port=
5000
client_socket=
socket(AF_INET,
SOCK_STREAM)
client_socket.connect((server_name,server_port))
whileTrue:
sentence
=
input(">> ")
client_socket.send(sentence.encode())
message
=
client_socket.recv(2048)
(">> ",
message.decode())
if(sentence
==
'q'):
client_socket.close()
-
V. Kesimpulan
Berdasarkan praktikum
yang telah dilakukan dapat disimpulkan bahwa jika berkomunikasi dengan pc
sendiri dapat dipastikan bahwa hanya akan berbeda port namun sama IP address,
namun jika berbeda PC jelas akan berbeda IP. Dapat dilakukan pembuatan chatting
sangat sederhana menggunakan python.
Daftar Pustaka
.
[1]
https://www.kompasiana.com/www.zulhandwiikhsani.com/552c79c86ea8340c388b456a/tcp,
03/01/2020. 12.00
[2]
Yones Raven, T. M. (2015).
Implementasi Tcp/Ip Untuk Membuat Server Database Access. Jurnal Teknologi
Informasi Program Studi Teknik Informatika Dan Sistem Informasi, Universitas
Bunda Mulia , 44-50.
[3]
http://shantoroy.com/tutorial/simple-python-chat-server-program-in-python/ 03/01/2020. 12.33
Komentar
Posting Komentar