Was ist die Zeichenfolge in „Daten“, die angezeigt wird, wenn Sie den Ping-Befehl in Wireshark erfassen?

Was ist die Zeichenfolge in „Daten“, die angezeigt wird, wenn Sie den Ping-Befehl in Wireshark erfassen?

In allen meinen Ping-Erfassungen habe ich diese abcdef...Sequenz in „Daten“. Ist das relevant oder sind das nur Dummy-Daten? Gibt es einen anderen Zweck als die Messung der Roundtrip-Zeit?

Bildbeschreibung hier eingeben

Antwort1

Dadurch wird das Paket lediglich aufgefüllt, sodass es die minimale Ethernet-Frame-Größe von 64 Byte (Hex 40) erreicht.

Da das ICMP-Segment kleiner als 64 ist, muss es aufgefüllt werden, um das Minimum zu erreichen. Dies geschieht, indem einfach das Alphabet hinzugefügt wird, bis das Minimum erreicht ist.

Siehe Wikipedia Ethernet-Frame.

Antwort2

Die Nutzlast ist nicht unbedingtNurAuffüllen. Tatsächlich kann die Nutzlast sogar bis zu einem gewissen Grad dazu verwendet werden, das Betriebssystem zu fingerprinten. In diesem Fall würde ich wetten, dass der Ping aus zwei Gründen von einem Windows-Rechner ausgeführt wurde:

  1. Das Fehlen eines Zeitstempels in der Nutzlast
  2. Die Kennung ist 1

Vergleichen Sie das mit einem auf Mike Muuss basierenden Ping (FreeBSD, Mac OSX, ...), bei dem:

  1. Die ersten 8 Bytes der Nutzlast stellen einen Zeitstempel dar (Struktur tv32).
  2. Der Bezeichner sind die unteren 16 Bit der Prozess-ID des pingProgramms selbst.

Oder unter Solaris ist der Zeitstempel ein „struct timeval“, wobei der Sekundenwert ein 64-Bit-Sekundenfeld haben kann. Bei anderen Betriebssystemen kann die Nutzlast ebenfalls variieren.

Als Referenz können Sie die Kommentare zu einem alten Wireshark-Bug lesen, nämlichFehler 5770.

Natürlich gibt es auch andere Verwendungsmöglichkeiten für die ICMP-Nutzlast, beispielsweise für ICMP-Tunneling. Hier ist nur ein Artikel, der sich damit befasst, mit dem Titel:Ping Power – ICMP-Tunnel.

In jedem Fall handelt es sich bei der ICMP-Nutzlast nicht unbedingt nur um Füllmaterial.

verwandte Informationen