Hallo,
ich habe einen Paketsniffer mit Python/Scapy gebaut - die Arbeitsweise ist wie folgt:
Paket vom Client an den Server abfangen und kopieren
Auf ACK-Paket nach der Serverantwort warten und daraus seq- und ack-Nummer extrahieren
Paketinhalt verändern, seq- und ack-Nummer einfügen und dann Checksumme aktualisieren
Dann das gefälschte Paket absenden
Hier die Pakete:
Der Server empfängt das gefälschte Paket - reagiert aber nicht darauf...
Wenn der nächste legitime Befehl von Client kommt wird dessen Paket in Wireshark sogar als Retransmission gewertet - witzigerweise reagiert darauf der Server mit ACK und Antwort.
Was übersehe ich hierbei bzw. warum reagiert der Server nicht auf das Paket?
ich habe einen Paketsniffer mit Python/Scapy gebaut - die Arbeitsweise ist wie folgt:
Paket vom Client an den Server abfangen und kopieren
Auf ACK-Paket nach der Serverantwort warten und daraus seq- und ack-Nummer extrahieren
Paketinhalt verändern, seq- und ack-Nummer einfügen und dann Checksumme aktualisieren
Dann das gefälschte Paket absenden
Hier die Pakete:
Code:
ORIGINAL-PACKET:
###[ Ethernet ]###
dst = 40:f0:2f:c7:90:20
src = 00:1f:5b:34:45:3c
type = 0x800
###[ IP ]###
version = 4
ihl = 5
tos = 0x0
len = 42
id = 34084
flags = DF
frag = 0
ttl = 64
proto = tcp
chksum = 0x0
src = 192.168.1.7
dst = 192.168.1.38
\options \
###[ TCP ]###
sport = 4430
dport = 49710
seq = 1273911897
ack = 3316338221
dataofs = 5
reserved = 0
flags = PA
window = 8192
chksum = 0x839a
urgptr = 0
options = []
###[ Raw ]###
load = 'oo'
ACK-PACKET:
###[ Ethernet ]###
dst = 40:f0:2f:c7:90:20
src = 00:1f:5b:34:45:3c
type = 0x800
###[ IP ]###
version = 4
ihl = 5
tos = 0x0
len = 40
id = 53843
flags = DF
frag = 0
ttl = 64
proto = tcp
chksum = 0x0
src = 192.168.1.7
dst = 192.168.1.38
\options \
###[ TCP ]###
sport = 4430
dport = 49710
seq = 1273911899
ack = 3316338314
dataofs = 5
reserved = 0
flags = A
window = 8189
chksum = 0x8398
urgptr = 0
options = []
SPOOFED-PACKET:
###[ Ethernet ]###
dst = 40:f0:2f:c7:90:20
src = 00:1f:5b:34:45:3c
type = 0x800
###[ IP ]###
version = 4
ihl = 5
tos = 0x0
len = 45
id = 58454
flags = DF
frag = 0
ttl = 64
proto = tcp
chksum = 0x0
src = 192.168.1.7
dst = 192.168.1.38
\options \
###[ TCP ]###
sport = 4430
dport = 49710
seq = 1273911899
ack = 3316338314
dataofs = 5
reserved = 0
flags = PA
window = 8192
chksum = 0x466d
urgptr = 0
options = []
###[ Raw ]###
load = 'close'
Der Server empfängt das gefälschte Paket - reagiert aber nicht darauf...
Wenn der nächste legitime Befehl von Client kommt wird dessen Paket in Wireshark sogar als Retransmission gewertet - witzigerweise reagiert darauf der Server mit ACK und Antwort.
Was übersehe ich hierbei bzw. warum reagiert der Server nicht auf das Paket?