Entwickler-Ecke

Internet / Netzwerk - Broadcast mit zwei Netwerkkarten -> falsche source IP


Hagenvontronje - Mi 10.12.08 09:30
Titel: Broadcast mit zwei Netwerkkarten -> falsche source IP
Hallo,
ich habe 2 Netzwerkkarten in meinem Rechner. Auf der ersten Karte ist meine eigene IP Adresse 192.168.100.198 und auf der zweiten 192.168.101.5.
Wenn ich nun einen Broadcast sende, wird auf beiden Karten mit der selben source IP (der von der zweiten Karte) gesendet. Gerüft habe ich das mit Packetyzer siehe unten.

Ich benutze Delphi 7 pro und habe es mit den Indytools und mit der UdpSockUtil von Narses ausprobiert, bei beiden das selbe Resultat. Ist das vielleicht ein WinSocket Fehler.

Kann mir da einer weiter helfen?

Heiko

Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
Packetyzer Trace Karte 1:

Frame 1 (45 bytes on wire, 45 bytes captured)
Frame is marked: False
Arrival Time: Dec 10, 2008 07:15:41.951079000
Time delta from previous packet: -2.865615000 seconds
Time since reference or first frame: 1039.600405000 seconds
Frame Number: 1
Packet Length: 45 bytes
Capture Length: 45 bytes
Protocols in frame: eth:ip:udp:data
Ethernet II, Src: 00:1f:d0:24:d7:42 (00:1f:d0:24:d7:42), Dst: ff:ff:ff:ff:ff:ff (ff:ff:ff:ff:ff:ff)
Destination: ff:ff:ff:ff:ff:ff (ff:ff:ff:ff:ff:ff)
Address: ff:ff:ff:ff:ff:ff (ff:ff:ff:ff:ff:ff)
.... ...1 .... .... .... .... = Multicast: This is a MULTICAST frame
.... ..1. .... .... .... .... = Locally Administrated Address: This is NOT a factory default address
Source: 00:1f:d0:24:d7:42 (00:1f:d0:24:d7:42)
Address: 00:1f:d0:24:d7:42 (00:1f:d0:24:d7:42)
.... ...0 .... .... .... .... = Multicast: This is a UNICAST frame
.... ..0. .... .... .... .... = Locally Administrated Address: This is a FACTORY DEFAULT address
Type: IP (0x0800)
Internet Protocol, Src: 192.168.101.5 (192.168.101.5), Dst: 255.255.255.255 (255.255.255.255)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
0000 00.. = Differentiated Services Codepoint: Default (0x00)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 31
Identification: 0x133c (4924)
Flags: 0x00
0... = Reserved bit: Not set
.0.. = Don't fragment: Not set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 128
Protocol: UDP (0x11)
Header checksum: 0x01e5 [correct]
Good: True
Bad : False
Source: 192.168.101.5 (192.168.101.5)
Source or Destination Address: 192.168.101.5 (192.168.101.5)
Source Host: 192.168.101.5
Source or Destination Host: 192.168.101.5
Destination: 255.255.255.255 (255.255.255.255)
Source or Destination Address: 255.255.255.255 (255.255.255.255)
Destination Host: 255.255.255.255
Source or Destination Host: 255.255.255.255
User Datagram Protocol, Src Port: 1177 (1177), Dst Port: 8007 (8007)
Source port: 1177 (1177)
Destination port: 8007 (8007)
Source or Destination Port: 1177
Source or Destination Port: 8007
Length: 11
Checksum coverage: 11
Checksum: 0x6a49 [correct]
Data (3 bytes)

0000: FF FF FF FF FF FF 00 1F D0 24 D7 42 08 00 45 00 .........$.B..E.
0010: 00 1F 13 3C 00 00 80 11 01 E5 C0 A8 65 05 FF FF ...<........e...
0020: FF FF 04 99 1F 47 00 0B 6A 49 4B 01 01 .....G..jIK..


Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
Packetyzer Trace Karte 2:

Frame 1 (45 bytes on wire, 45 bytes captured)
Frame is marked: False
Arrival Time: Dec 10, 2008 07:15:41.951098000
Time delta from previous packet: 0.000000000 seconds
Time since reference or first frame: 245.485787000 seconds
Frame Number: 1
Packet Length: 45 bytes
Capture Length: 45 bytes
Protocols in frame: eth:ip:udp:data
Ethernet II, Src: 00:1f:d0:24:d7:40 (00:1f:d0:24:d7:40), Dst: ff:ff:ff:ff:ff:ff (ff:ff:ff:ff:ff:ff)
Destination: ff:ff:ff:ff:ff:ff (ff:ff:ff:ff:ff:ff)
Address: ff:ff:ff:ff:ff:ff (ff:ff:ff:ff:ff:ff)
.... ...1 .... .... .... .... = Multicast: This is a MULTICAST frame
.... ..1. .... .... .... .... = Locally Administrated Address: This is NOT a factory default address
Source: 00:1f:d0:24:d7:40 (00:1f:d0:24:d7:40)
Address: 00:1f:d0:24:d7:40 (00:1f:d0:24:d7:40)
.... ...0 .... .... .... .... = Multicast: This is a UNICAST frame
.... ..0. .... .... .... .... = Locally Administrated Address: This is a FACTORY DEFAULT address
Type: IP (0x0800)
Internet Protocol, Src: 192.168.101.5 (192.168.101.5), Dst: 255.255.255.255 (255.255.255.255)
Version: 4
Header length: 20 bytes
Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
0000 00.. = Differentiated Services Codepoint: Default (0x00)
.... ..0. = ECN-Capable Transport (ECT): 0
.... ...0 = ECN-CE: 0
Total Length: 31
Identification: 0x133c (4924)
Flags: 0x00
0... = Reserved bit: Not set
.0.. = Don't fragment: Not set
..0. = More fragments: Not set
Fragment offset: 0
Time to live: 128
Protocol: UDP (0x11)
Header checksum: 0x01e5 [correct]
Good: True
Bad : False
Source: 192.168.101.5 (192.168.101.5)
Source or Destination Address: 192.168.101.5 (192.168.101.5)
Source Host: 192.168.101.5
Source or Destination Host: 192.168.101.5
Destination: 255.255.255.255 (255.255.255.255)
Source or Destination Address: 255.255.255.255 (255.255.255.255)
Destination Host: 255.255.255.255
Source or Destination Host: 255.255.255.255
User Datagram Protocol, Src Port: 1177 (1177), Dst Port: 8007 (8007)
Source port: 1177 (1177)
Destination port: 8007 (8007)
Source or Destination Port: 1177
Source or Destination Port: 8007
Length: 11
Checksum coverage: 11
Checksum: 0x6a49 [correct]
Data (3 bytes)

0000: FF FF FF FF FF FF 00 1F D0 24 D7 40 08 00 45 00 .........$.@..E.
0010: 00 1F 13 3C 00 00 80 11 01 E5 C0 A8 65 05 FF FF ...<........e...
0020: FF FF 04 99 1F 47 00 0B 6A 49 4B 01 01 .....G..jIK..


Moderiert von user profile iconNarses: Code-Tags ergänzt


AXMD - Mi 10.12.08 09:56

Nein, bei mehreren Netzwerkkarten kannst du einen Socket an jene IP binden, die der des Interfaces entspricht, von dem aus du senden willst. Schickst du dann einen Broadcast wird dieser nur auf dieses Interface geschickt und hat auch die entsprechende Quelladresse. Möchtest du (aus welchem Grund auch immer) auch in die Netze der anderen Netzwerkkarten einen Broadcast absetzen musst du weitere Sockets erstellen und an die entsprechenden Interface-IPs binden.

AXMD