Files
Guillaume-Sanchez ff4bb12d22 initial commit
2026-05-26 13:56:03 +02:00
..
2026-05-26 13:56:03 +02:00
2026-05-26 13:56:03 +02:00

UTC505 26-09-24

Shéma TCP IP :

[Applicatif] FTP/SSH/DNS/HTTP [Transport] TCP/UDP/ICMP [Resau] IPv4/IPv6/IPsec [Accès_reseau] Ethernet

Les couches communiquent entre elles en montant et en decendant.

1 octet -> 8bits 1 octet -> 2 symbole hexadecimal

Maximun d'une tram 1518 et minumu 64 octets

Exemple d'une trame :

00: 0800 2018 ba40 aa00 0400 1fc8 0800 4500 16: 0028 a3fc 4000 3f06 af63 a3ad 2041 a3ad 32: 80d4 0558 0017 088d de7e ba77 66c9 5010 48: 7d78 3c30 0000 0000 0000 0000 0000 0000

0800 2018 ba40 -> adresse mac dst 6 octets aa00 0400 1fc8 -> adresse mac src 6 octets 0800 -> types 2 octets

4500 0028 a3fc 4000 3f06

a3ad 2041 -> adresse IP dst 4 octets a3ad 80d4 -> adresse IP src 4 octets 0558 -> port dst 0017 -> port src

088d de7e ba77 66c9 5010 7d78 3c30

0000 0000 0000 0000 0000 0000 -> bourage d'octets

Il faut 64 octet minimum donc utilisation des Bit de bourage pour complêter la tram (représenté par 0000)

Petit exemple d'un scapy :

from scapy.all import IP, ICMP

Create an IP packet with the correct parameters

packet = IP(version=4, ihl=None, tos=0x00, id=1, flags=0, ttl=64, proto='icmp', src="192.168.10.10", dst="192.168.10.100")

Display the packet details

packet.show()

nk@debian:~/Documents/UTEC/UTC505/UTC505-26-09-24$ scapy INFO: Can't import PyX. Won't be able to use psdump() or pdfdump().

                 aSPY//YASa       
         apyyyyCY//////////YCa       |
        sY//////YSpcs  scpCY//Pp     | Welcome to Scapy

ayp ayyyyyyySCP//Pp syY//C | Version 2.5.0 AYAsAYYYYYYYY///Ps cY//S | pCCCCY//p cSSps y//Y | https://github.com/secdev/scapy SPPPP///a pP///AC//Y | A//A cyP////C | Have fun! p///Ac sC///a | P////YCpc A//A | What is dead may never die! scccccp///pSP///p p//Y | -- Python 2 sY/////////y caa S//P | cayCyayP//Ya pY/Ya sY/PsY////YCc aC//Yp sc sccaCY//PCypaapyCP//YSs
spCPY//////YPSps
ccaacs
using IPython 8.5.0

a = IP(version=4, ihl=None, tos=0x00, id=1, flags=0, ttl=64, proto='icmp', src="192.168.10.10", dst="192.168.10.100") a.show() ###[ IP ]### version = 4 ihl = None tos = 0x0 len = None id = 1 flags = frag = 0 ttl = 64 proto = icmp chksum = None src = 192.168.10.10 dst = 192.168.10.100 \options \

mon_ping = (Ether() / IP(dst="192.168.0.129")) /ICMP()dns my_ping = (Ether(dst="14:18:c3:63:6a:14")) /IP(dst="192.168.0.129")) / ICMP()