![]() 120
Set pointer header ICMP
Hitung checksum
Jika checksum terpenuhi
Isi pointer p dengan isi datagram ICMP
End Jika
Kalkulasi besar data ICMP
Case tipe ICMP
ICMP_ECHOREPLY : Set nomor urut id paket
ICMP_ECHO : Set nomor urut id paket
Tambahkan besar echo ext ke pointer data
dan kurangi dari besar data
ICMP_DEST_UNREACH : Jika besar paket < 16
Jika flag verbose di set
Tampilkan pesan kesalahan
End Jika
Jika besar paket < 8
Keluar dari modul
End Jika
End Jika
End Case
Ciptakan Paket baru
End module DecodeICMP
Modul
:
DecodeARP (decode.c)
Fungsi
:
Modul untuk mendecode ARP
Memanggil modul
:
-
Dipanggil modul
:
DecodeEthPkt
Parameter Input
:
pkt => pointer ke data paket yang akan didecode
len =>
panjang dari layer IP ke akhir paket
p
=> pointer ke struktur paket yang didecode
Parameter Output
:
-
Jika panjang paket < header ARP
Jika flag verbose di set
Tampilkan pesan kesalahan
End Jika
End Jika
Buang paket ini
End module DecodeARP
Modul
:
DecodeTCPOptions (decode.c)
Fungsi
:
Modul untuk mendecode Oktet option dari header TCP
Memanggil modul
:
-
Dipanggil modul
:
DecodeTCP
Parameter Input
: o_list => ptr ke option list
o_len => panjang dari option list
|