Vra

Dit is nie net 'n opname wat ek soek om hier te doen. Ek wil eers die pakkie vang, dan in reële tyd, check die loonvrag vir spesifieke data, verwyder dit, spuit 'n handtekening en reinject die pakkie in die stapel te stuur op as voorheen.

Ek het 'n lees van die IPFW herlei voetstukke behulp IPFW en dit lyk baie belowend. Wat van voorbeelde in die wysiging van pakkies en reinjecting dit weer terug in die stapel met behulp lei voetstukke? Ook, as 'n saak van nuuskierigheid, sou dit moontlik wees om die data van die aansluiting met behulp van Java lees of sou dit beperk my met verpakking mangling en reinjecting ens?

Was dit nuttig?

Oplossing

Ek gaan ander antwoorde wat iptables (afhangende van die kompleksiteit van beide die patrone wat jy probeer om aan te pas en die pakkie veranderinge wat jy wil maak) het aanbeveel eggo - totdat ek het kennis van die BSD tag op die vraag.

As Stephen Pellicer reeds genoem, libpcap is 'n goeie opsie vir die opneem van die pakkies. Ek glo, al is, kan daardie libpcap ook gebruik word om pakkies te stuur. Vir verwysing ek is redelik seker dat tcpreplay gebruik dit om PCAP formaat lêers te speel.

Ander wenke

Sien lei voetstukke: lei Sockets mini HOWTO .

Hulle werk deur verbygaande verkeer wat ooreenstem met 'n sekere IPFW reël om 'n spesiale rou socket wat dan veranderde verkeer kan reinject in die netwerk lae.

As jy net op soek na n pakkie vang, libpcap is baie gewild. Dit word gebruik in basiese gereedskap soos Tcpdump en eteriese. Sover "haak in die stapel", tensy jy van plan is fundamenteel verander die manier waarop die manier waarop die netwerk geïmplementeer (dws voeg jou eie laag of die gedrag van TCP verander), jou idee van die gebruik van IPF vir pakkie verandering of ingryping lyk soos die beste bet. In Linux het hulle 'n spesifieke verwysing teiken vir userspace modules, IPF het waarskynlik iets soortgelyks of jy kan verander IPF om iets soortgelyks te doen.

As jy net belangstel in die sien van die pakkies is, dan libpcap is die pad om te gaan. Jy kan dit vind op: http://www.tcpdump.org/

Dit is moontlik om dit te doen in userspace met die tou of NFQUEUE iptables teiken ek dink. Die kliënt aansoek heg aan 'n tou en ontvang al wat ooreenstem met die pakkies, wat dit kan verander voordat hulle weer ingespuit (dit kan hulle ook laat val as dit wil).

Daar is 'n kliënt biblioteek libnetfilter_queue wat dit nodig het om te skakel teen. Ongelukkig dokumentasie is minimaal, maar daar is 'n paar poslys poste en voorbeelde klop rondom.

Vir prestasie redes, sal jy nie wil om dit te doen om elke pakkie, maar slegs spesifieke bypassende kinders, wat jy sal hê om aan te pas met behulp van standaard iptables reëls. As dit nie genoeg doen, sal jy nodig het om jou eie Netfilter kern module te skryf.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top