Ist raw socket auf der loopback-Schnittstelle möglich?

Wir versuchen, die Kommunikation mit dem server lauscht auf Linux-loopback-Schnittstelle, über raw-socket und es scheint, dass der server nicht ein einziges Paket von uns. Die Pakete, die wir senden, sind sichtbar in Wireshark.

Ist raw socket auf loopback überhaupt möglich? (Bitte nicht Fragen, warum wir es brauchen: es ist zu kompliziert zu erklären hier)

EDIT: dies ist, wie wir es öffnen

_I_RawSocket = socket( PF_PACKET, SOCK_RAW, htons(ETH_P_ALL)))

memset( &ifr, 0, sizeof( ifr ) );
strcpy( ifr.ifr_ifrn.ifrn_name, _InterfaceName);

ioctl( _I_RawSocket, SIOCGIFINDEX, &ifr )

memset( &sll, 0, sizeof( sll ) );
sll.sll_family   = AF_PACKET;
sll.sll_ifindex  = ifr.ifr_ifindex;
sll.sll_protocol = htons( ETH_P_ALL );

bind( _I_RawSocket, (struct sockaddr *) &sll, sizeof( sll ))

Ist der server lighttpd und es ist erreichbar über die normalen socket auf localhost.
netstat --raw druckt leere Tabelle, aber ich bin mir absolut sicher, wir haben zwei funktionelle raw-sockets auf der normalen eth-Geräte.

  • Bitte posten Sie: a) Genau, welche Art von Steckdose Sie verwenden, ist es eine AF_PACKET ? b) Wie werden Sie verbindlich sind, sind Sie mit binden oder SO_BINDTODEVICE ? c) Was ist der server und was es versucht zu tun? Können Sie sprechen, um es mit einer IP-socket (vorausgesetzt, hier die IP)? Können, senden Sie die Ausgabe von netstat-roh ?
  • Gegeben, dass er für raw-sockets, ich vermute, SOCK_RAW. SOCK_PACKET veraltet ist, sowieso.
  • Ich finde das "man 7 packet" - Seite sehr nützlich, bitte Lesen Sie es und sehen, ob das, was er beschreibt, ist konsistent mit dem, was du tust.
  • Ich meinte AF_PACKET nicht die veraltete "AF_INET/SOCK_RAW"
InformationsquelleAutor jackhab | 2010-07-26
Schreibe einen Kommentar