H/W: A1 F/W: 1.03
Девайс по адресу 192.168.1.100
Комп на котором постоянные обломы по адресу 192.168.1.1 (OS/2)
Винда по адресу 192.168.1.10 (иногда тоже отваливается из-за меньшей нагрузки)
Вот как мы пингуем девайс, таблица арпов перед этим была очищена:
Код:
-------------------------- #:1 --------------------------
Delta Time: 0.000sec Packet Length: 42 bytes (2A hex)
DIX: Dest: FF:FF:FF:FF:FF:FF Source: 00:A0:C9:9C:A1:32
-------------------------- ARP --------------------------
ARP: Hardware Type:1 (Ethernet 10Mb)
ARP: Protocol Type:0800 (IP Address)
ARP: Hardware Len:6
ARP: Protocol Len:4
ARP: Operation:1 (ARP Request)
ARP: Sender HW address: 00A0C99CA132
ARP: Sender PA: 192.168.001.001.
ARP: Target HW address: 000000000000
ARP: Target PA: 192.168.001.100.
-------------------------- #:2 --------------------------
Delta Time: 0.000sec Packet Length: 60 bytes (3C hex)
DIX: Dest: 00:A0:C9:9C:A1:32 Source: 00:0D:88:AE:38:48
-------------------------- ARP --------------------------
ARP: Hardware Type:1 (Ethernet 10Mb)
ARP: Protocol Type:0800 (IP Address)
ARP: Hardware Len:6
ARP: Protocol Len:4
ARP: Operation:2 (ARP Response)
ARP: Sender HW address: 000D88AE3848
ARP: Sender PA: 192.168.001.100.
ARP: Target HW address: 00A0C99CA132
ARP: Target PA: 192.168.001.001.
-------------------------- #:3 --------------------------
Delta Time: 0.000sec Packet Length: 46 bytes (2E hex)
DIX: Dest: 00:0D:88:AE:38:48 Source: 00:A0:C9:9C:A1:32
DIX: Dest: 192.168.001.100 Source: 192.168.001.001
----------------------- IP HEADER -----------------------
IP: Version: 4 Correct Header Length: 20 bytes
IP: Type Of Service: 00
IP: 000. .... Routine
IP: ...0 .... Normal Delay
IP: .... 0... Normal Throughput
IP: .... .0.. Normal Reliability
IP: Total Len: 32 (x20) bytes Id: 0227
IP: Flags: 0
IP: .0.. May Fragment
IP: ..0. Last Fragment
IP: Fragment Offset: 000
IP: Time To Live: 255 sec Protocol: 1 ICMP
IP: Header Checksum: 3600 (Correct)
IP: No Options
---------------------- ICMP HEADER ----------------------
ICMP: Type: 08 Echo
ICMP: Checksum: EF7B (Correct)
ICMP: Identify: 0884
ICMP: Sequence #: 0000
--------------------------------- DATA -----------------------------------
0000 00 00 00 00 ....
-------------------------- #:4 --------------------------
Delta Time: 0.000sec Packet Length: 60 bytes (3C hex)
DIX: Dest: 00:A0:C9:9C:A1:32 Source: 00:0D:88:AE:38:48
DIX: Dest: 192.168.001.001 Source: 192.168.001.100
----------------------- IP HEADER -----------------------
IP: Version: 4 Correct Header Length: 20 bytes
IP: Type Of Service: 00
IP: 000. .... Routine
IP: ...0 .... Normal Delay
IP: .... 0... Normal Throughput
IP: .... .0.. Normal Reliability
IP: Total Len: 32 (x20) bytes Error?? Id: 010D
IP: Flags: 0
IP: .0.. May Fragment
IP: ..0. Last Fragment
IP: Fragment Offset: 000
IP: Time To Live: 64 sec Protocol: 1 ICMP
IP: Header Checksum: F61A (Correct)
IP: No Options
---------------------- ICMP HEADER ----------------------
ICMP: Type: 00 Echo Reply
ICMP: Checksum: F77B (Correct)
ICMP: Identify: 0884
ICMP: Sequence #: 0000
--------------------------------- DATA -----------------------------------
0000 00 00 00 00 ....
Вопросы:
Почему ответ на арп-запрос 60 байт, когда по стандарту 42? Винда отвечает пакетом размером в 42 байта!
Почему ответ на пинг 60 байт, когда должен был быть 46?
Вот пинг со стороны роутера, операционка его не захотела переваривать:
Код:
-------------------------- #:2 --------------------------
Delta Time: 6.753sec Packet Length: 60 bytes (3C hex)
DIX: Dest: 00:A0:C9:9C:A1:32 Source: 00:0D:88:AE:38:48
DIX: Dest: 192.168.001.001 Source: 192.168.001.100
----------------------- IP HEADER -----------------------
IP: Version: 4 Correct Header Length: 20 bytes
IP: Type Of Service: 00
IP: 000. .... Routine
IP: ...0 .... Normal Delay
IP: .... 0... Normal Throughput
IP: .... .0.. Normal Reliability
IP: Total Len: 32 (x20) bytes Error?? Id: 97D3
IP: Flags: 0
IP: .0.. May Fragment
IP: ..0. Last Fragment
IP: Fragment Offset: 000
IP: Time To Live: 64 sec Protocol: 1 ICMP
IP: Header Checksum: 5F54 (Correct)
IP: No Options
---------------------- ICMP HEADER ----------------------
ICMP: Type: 08 Echo
ICMP: Checksum: F3FD (Correct)
ICMP: Identify: 0000
ICMP: Sequence #: 0000
--------------------------------- DATA -----------------------------------
0000 01 02 03 00 ....
Если шла подделка под винду, то вот пинг со стороны винды (192.168.1.10):
Код:
-------------------------- #:1 --------------------------
Delta Time: 0.000sec Packet Length: 74 bytes (4A hex)
DIX: Dest: 00:A0:C9:9C:A1:32 Source: 00:02:55:90:62:7F
DIX: Dest: 192.168.001.001 Source: 192.168.001.010
----------------------- IP HEADER -----------------------
IP: Version: 4 Correct Header Length: 20 bytes
IP: Type Of Service: 00
IP: 000. .... Routine
IP: ...0 .... Normal Delay
IP: .... 0... Normal Throughput
IP: .... .0.. Normal Reliability
IP: Total Len: 60 (x3C) bytes Id: 4AEA
IP: Flags: 0
IP: .0.. May Fragment
IP: ..0. Last Fragment
IP: Fragment Offset: 000
IP: Time To Live: 200 sec Protocol: 1 ICMP
IP: Header Checksum: 247B (Correct)
IP: No Options
---------------------- ICMP HEADER ----------------------
ICMP: Type: 08 Echo
ICMP: Checksum: 435C (Correct)
ICMP: Identify: 0200
ICMP: Sequence #: 0800
--------------------------------- DATA -----------------------------------
0000 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 abcdefghijklmnop
0010 71 72 73 74 75 76 77 61 62 63 64 65 66 67 68 69 qrstuvwabcdefghi
-------------------------- #:2 --------------------------
Delta Time: 0.000sec Packet Length: 74 bytes (4A hex)
DIX: Dest: 00:02:55:90:62:7F Source: 00:A0:C9:9C:A1:32
DIX: Dest: 192.168.001.010 Source: 192.168.001.001
----------------------- IP HEADER -----------------------
IP: Version: 4 Correct Header Length: 20 bytes
IP: Type Of Service: 00
IP: 000. .... Routine
IP: ...0 .... Normal Delay
IP: .... 0... Normal Throughput
IP: .... .0.. Normal Reliability
IP: Total Len: 60 (x3C) bytes Id: 57DD
IP: Flags: 0
IP: .0.. May Fragment
IP: ..0. Last Fragment
IP: Fragment Offset: 000
IP: Time To Live: 64 sec Protocol: 1 ICMP
IP: Header Checksum: 9F88 (Correct)
IP: No Options
---------------------- ICMP HEADER ----------------------
ICMP: Type: 00 Echo Reply
ICMP: Checksum: 4B5C (Correct)
ICMP: Identify: 0200
ICMP: Sequence #: 0800
--------------------------------- DATA -----------------------------------
0000 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 abcdefghijklmnop
0010 71 72 73 74 75 76 77 61 62 63 64 65 66 67 68 69 qrstuvwabcdefghi
Как видим, если размер блока данных уменьшить на 28 байт, чтобы получить 4 байта, как делает посылки роутер, то размер пакета будет 46 байт, по стандарту, ане 60.
Так что читаем RFC и правим стек, в частности IP-headers.
Обычные TCP и UDP пакеты публиковать не стал, тк бага именно в IP-headers и с ними таже бяда. Со стороны WAN проверить нет возможности пока.