Chapter 1 — Python Network Programming Cookbook Second Edition (Translate Indonesia) | Mengonversi Alamat IPv4 ke dalam Format Lainya
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
- Menemukan nama layanan, diberi port dan protokol
- 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
Ketika Anda ingin bermain dengan low-level network function, terkadang notasi string IP address tidak digunakan. Biasanya dilakukan konversi ke paket 32-bit binary format.
Cara Melakukannya :
Pada python socket library, memiliki utility yang digunakan untuk berbagai format IP Address. Pada percobaan ini kita akna menggunakan dua fungsi tersebut : inet_aton() adan inet_ntoa().
Mari kita buat fungsi convert_ip_address(), dimana inet_aton() dan inet_ntoa() akan kita gunakan untuk mengkonversikan IP Address. Kita akan menggunakan dua contoh IP Address, 127.0.0.1 dan 192.168.0.1.
Listing 1.3. Menampilkan ip4_address_conversion dengan perintah berikut :
#!/usr/bin/env python
def convert_ip4_address():
for ip_addr in [‘127.0.0.1’, ‘192.168.0.1’]:
packed_ip_addr = socket.
inet_aton(ip_addr)
unpacked_ip_addr = socket.inet_ntoa
(packed_ip_addr)
print (“IP Address: %s => Packed: %s,
Unpacked: %s” %(ip_addr,
hexlify(packed_ip_addr),
unpacked_ip_addr))
if __name__ == ‘__main__’:
convert_ip4_address()
Ketika di run, maka akan muncul output seperti berikut :
Bagaimana Cara Kerjanya :
Pada percobaan ini, dua IP address akan di konversikan ke dalam string 32-bit package format menggunakan for-in statement. Selain itu, Python function hexlify dipanggil dengan modul binascii. Function ini membantu merepresentasikan binar data ke hexadecimal format.