title image


Smiley RAW-Socket ich will alles
Guten Tag liebe Communitymitglieder.



Zur Zeit Programmiere ich an einem OpenSource-Wireless-HotSpot Zugang. Die Betrieber der HotSpots sollen auch Möglichkeiten haben Pakete für den Internetzugang zu verkaufen. z.B. 1 EUR für eine Stunde surfen. Oder 0.90Cent pro Gigabyte Transfervolumen.



Genau da ist jetzt mein Problem. Ich muss den Kompletten RAW-Transfer mitzählen, welchen ein User einer bestimmten IP/MAC-Adresse verursacht.



Ich hab mir jetzt mal einen Socket erstellt und ihn RAW-Tauglich gemacht. Ich empfange nun die IP-Header und die TCP-Header Schichten sowie die Nutzlast ab. Aber das doofe daran ist, dass ich nur die Pakete sehe, welche vom USER (wlan) -> ROUTER (ich) gehen aber nicht die Pakete, welche von USER -> ROUTER (ich) -> ROUTER (ISP) gehen.



Verwende iptables unter RedHat 9.0 Professional mit Kernel 2.4. Hab in der PreRouting eine SOURCE-NAT vorgenommen, damit der Router als "NAT-Router for Single User Accounts (SUA)" fugiert.



Ein paar Sourcezeilen:

struct iphdr *ip;

struct tcphdr *tcp;

struct in_addr source_addr, dest_addr;

s = socket(AF_INET, SOCK_RAW, IPPROTO_TCP);



Hat jemand von euch eine Idee? Ich muss ja schließlich umbedingt an diese Daten ran.

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: