Déchiffrage d'un code python

Fermé
salwaalem - Modifié le 3 déc. 2019 à 13:32
 salwaalem - 3 déc. 2019 à 14:51
Bonjour,

Je voudrais comprendre ce que ce code fait s'il vous plait.
J'ai compris qu'il ouvre une connexion avec une machine en créant un socket dans lequel il va utiliser un ip et port puis il va envoyer un message à cette machine. Mais ce que je comprend pas. C'est le msg.

Ce message comprend une valeur qui sera décodée en hexa mais pourquoi ce message va faire qu'en l’envoyant à cette machine, cette dernière sera bloquée. Autrement dit ce message va créer un déni de service un DOS sur la machine.
   # socket setup
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((rhost, rport))
    msg = "00000000000a005a002800300000ff00".decode('hex')
    s.send(msg)
    s.close()
A voir également:

1 réponse

jee pee Messages postés 39635 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 25 avril 2024 9 235
3 déc. 2019 à 13:24
0
Merci de votre retour.

C'est de ce site que j'ai pris le code mais j'aurais voulu comprendre ce que fait que la machine se bloque quand on lui envoie le msg
msg = "00000000000a005a002800300000ff00".decode('hex')
0
jee pee Messages postés 39635 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 25 avril 2024 9 235 > salwaalem
3 déc. 2019 à 14:45
c'est écrit, et c'est un bug, corrigé, qui n'affecte que cette machine automate particulière

When a UMAS command is sent using function code 0x28, it is possible to make the device enter a non-recoverable fault state, causing a denial-of-service condition. This can be completed by specifying certain block numbers and providing a large value.

The known affected block numbers are 0x00 and 0x30-0x3f

In the non-recoverable fault state the CPU has entered an error mode where all remote communications have been stopped, process logic stops execution, and the device requires a physical power cycle to regain functionality.
0
Ah Ok. Je comprend mieux.
Merci beaucoup
0