Hallo Netcup Team,
wir haben einen Root Server (RS 1000) den wir u.A. für Netzwerkprotokolltests einsetzen.
Dabei haben wir beobachtet, dass uns diverse IPv6 Pakete nicht erreichen.
Handelsübliche TCP/UDP/ICMP Kommunikation über IPv6 geht problemlos, darunter HTTP/HTTPS/SSH.
SCTP über IPv6 kommt aber schon nicht bei unserem Server an.
Wir haben dann mittels scapy ein Script geschrieben um das näher zu untersuchen.
Das Script sendet wahlweise IPv4/IPv6 Pakete und geht dabei jeweils alle 256 Protokollheader durch.
Der Inhalt der jeweiligen Pakete ist Schrott, klar!
Wir haben von unterschiedlichen Systemen externe ISPs (UM, Telekom, DFN) Pakete geschickt und auf dem Server mit tcpdump mitgelesen.
Unsere Beobachtung:
- Über IPv4 kommt alles an, wie gewünscht.
- Über IPv6 kommen nur valide ICMP/UDP/TCP Pakete an
- ESP über IPv6 geht auch mit Schrott
Daher unsere Frage:
Wird seitens netcup irgendeine Layer-3 Paketfilterung durchgeführt?
VG
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import scapy.all as scapy
import ipaddress
import sys
addr4 = False
addr6 = False
if len(sys.argv) != 2:
print("usage: {} <IP4/IP6-Addr>".format(argv[0]));
sys.exit()
try:
addr4 = ipaddress.IPv4Address(sys.argv[1]);
except ipaddress.AddressValueError:
print("Not an IPv4 address")
try:
addr6 = ipaddress.IPv6Address(sys.argv[1]);
except ipaddress.AddressValueError:
print("Not an IPv6 address")
if not(addr4 or addr6):
sys.exit("Invalid address!")
data = "Hallo Server, magst du dieses Protokoll?"
for proto in range(0, 255):
if addr4:
i4 = scapy.IP()
i4.dst = str(addr4)
i4.proto = proto
#i4.show()
pkt_sent = scapy.send(i4/data, return_packets=True)
pkt_sent.show()
if addr6:
i6 = scapy.IPv6()
i6.dst = str(addr6)
i6.nh = proto
pkt_sent = scapy.send(i6/data, return_packets=True)
pkt_sent.show()
Alles anzeigen