Chapter 1 — Python Network Programming Cookbook Second Edition (Translate Indonesia) | Menampilkan Service Name, Port dan Protokol
Chapter 1
Sockets, IPv4, and Simple Client/Server Programming
1. Tujuan :
Adapun materi dalam praktikum ini diantaranya :
- Mencetak hostname dan alamat IPv4 Komputer
- Mendapatkan alamat IP dari remote mechine
- Mengonversi alamat IPv4 ke dalam format lainya
- Menampilkan Service Name, Port dan Protocol
- Mengubah integer ke dan dari host ke urutan byte jaringan
- Mengatur dan mendapatkan batas waktu soket default
- Menangani socket error dengan baik
- Memodifikasi ukuran buffer
- Mengubah soket ke mode pemblokiran / non-pemblokiran
- Menggunakan kembali alamat soket
- Mencetak waktu terkini dari time server internet
- Membuat Program SNTP Client
- Membuat aplikasi client/ server TCP sederhana
- Membuat aplikasi client / server UDP sederhana
2. Percobaan
Jika anda ingin mencari network service, Kita butuh untuk menentukan network service apa yang dijalakan dan port apa yang digunakan TCP atau UDP protokol
Persiapan :
Jika Anda mengetahui nomor port dari network service, Anda dapat mencari service name tersebut dengan menggunakan getservbyport() socket classs function dari socket library. Anda juga dapat memberikan nama untuk protokol ketika memanggil fungsi ini.
Cara Melakukannya :
Mari definisikan fungsi find_service_name(), dimana fungsi getservbyport() socket class akan dipanggil dari beberapa port, misalnya 80, 23. Kita dapat menggunakan Python for-in loop construct.
Listing 1.4. Menampilkan finding_service_name seperti berikut :
#!/usr/bin/env python
import socket
def find_service_name():
protocolname = ‘tcp’
for port in [80, 25]:
print (“Port: %s => service name: %s” %(port,
socket.getservbyport(port, protocolname)))
print (“Port: %s => service name: %s” %(53, socket.getservbyport(53,
‘udp’)))
if __name__ == ‘__main__’:
find_service_name()
Ketika Anda run program tersebut, maka akan muncul tampilan berikut :
Tampilan diatas menunjukkan bahwa layanan port, http, smtp, domain menggunakan port 80, 25, dan 53.
Bagaimana Cara Kerjanya :
Pada percobaan ini, statement for-in digunakan untuk iterasi sepanjang variabel. Jadi untuk tiap iterasi, kita gunakan satu Ip Address untuk di konversikan kedalam paket atau dibongkar.