Met iptables dataverkeer op een bepaalde poort meten?

Pagina: 1
Acties:

  • Snow_King
  • Registratie: April 2001
  • Laatst online: 29-04 08:33

Snow_King

Konijn is stoer!

Topicstarter
Hoi,

Ik draai een Battlefield 1942 server op een linux bak.
Nu wil ik graag weten hoeveel dataverkeer deze server verstookt.

Helaas is de Battlefield server niet het enige wat op die server draait dus simpel weg de stats per NIC heb ik niets aan.

Ik heb ooit gehoord dat je met iptables kan loggen hoeveel dataverkeer een bepaalde poort genereert.

Battlefield 192 draait op UDP poort 14567.

Ik heb al gezocht hier op GoT maar ik kwam niets relevants tegen :(

Google was ook niet echt mijn vriend :(

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 03:52

Gerco

Professional Newbie

Je kan loggen met de iptables counters, maar ik kan je van harte aanraden om te gaan loggen met trafd, die geeft behoorlijk uitgebreide informatie. Statistiek proggies zijn wel te krijgen en anders schrijf je zelf even iets, het is niet moeilijk.

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


  • Aetje
  • Registratie: September 2001
  • Laatst online: 18-12-2025

Aetje

Troubleshooting met HAMERRR

http://www.docum.org/ <- klik op Monitor.

Denk dat je 't daar wel mee lukt Snow :)

Forget your fears...
...and want to know more...


  • Buffy
  • Registratie: April 2002
  • Laatst online: 26-12-2024

Buffy

Fire bad, Tree pretty

De iptables regels hebben twee tellers die het aantal gematchde packetjes bijhouden en de som van de packet grootte.
Wat ik heb gedaan is een iptables chain aangemaakt die voor elke verkeer dat ik wil meten een regel bevat met de juiste opties (interface/destination ip/port/etc).
code:
1
2
3
4
5
iptables -N Itellers
iptables -A Itellers -d <serverip> --dport 14567 -p udp -j RETURN

iptables -N Otellers
iptables -A Otellers -s <serverip> --sport 14567 -p udp -j RETURN

De RETURN target zorgt ervoor dat de chain tellers stopt en de packet weer gewoon via de overige iptables regels wordt gematched. Aan de top van de INPUT en OUTPUT chain kan je dan gewoon 'iptables -j Itellers' resp. 'iptables -j Otellers' toevoegen zodat de packetjes eerst langs de tellers gaan voordat de overige regels gecontroleerd worden.
Hierdoor blijven de teller regels gescheiden van de echte firewall regels. Het packet kan dan als nog gedropt worden indien noodzakelijk of door verschillende regels gematched worden indien je bijvoorbeeld een statefull firewall hebt draaien (met NEW en ESTABLISHED regels).

Het einige wat je dan nog moet doen is regelmatig de tellers uitlezen (afhankelijk van de resolutie die je wilt en de bandbreedte van je verbinding want de tellers zijn maar 2^32 groot :)).

Dit kan je (bijvoorbeeld) doen mbv van mrtg.

That which doesn't kill us, makes us stranger - Trevor (AEon FLux)
When a finger points at the moon, the imbecile looks at the finger (Chinese Proverb)


  • Horus
  • Registratie: Juli 2000
  • Laatst online: 27-01 14:11
Dit kan met ipac
En met ipacstats kun je je verkeer in grafieken via je browser bij houden.

  • Snow_King
  • Registratie: April 2001
  • Laatst online: 29-04 08:33

Snow_King

Konijn is stoer!

Topicstarter
ok, ik snap het..

Ik ga eerst eens kijken naar ipac, maar ik zie dat die alleen per IP logt en niet per poort?
De BF server heeft wel zijn eigen IP dus dat is geen probleem :)

  • Horus
  • Registratie: Juli 2000
  • Laatst online: 27-01 14:11
Per port kan ook lees de docs maar eens :)

Verwijderd

Misschien een domme vraag hoor, maar verloopt het verkeer bij gameservers altijd over de poort welke is opgegeven? Maw als ik battlefield op poort 3000 laat draaien komt dan ook al het verkeer van de clients op poort 3000 terecht? (lijkt mij wel, maar weet niet zeker ;))

  • M4rtijn
  • Registratie: November 2000
  • Laatst online: 31-01 15:17

M4rtijn

Spinnin' around

Wellicht is IPTraf (http://cebu.mozcom.com/riker/iptraf/) een optie?

  • Snow_King
  • Registratie: April 2001
  • Laatst online: 29-04 08:33

Snow_King

Konijn is stoer!

Topicstarter
Verwijderd schreef op 18 September 2003 @ 12:13:
Misschien een domme vraag hoor, maar verloopt het verkeer bij gameservers altijd over de poort welke is opgegeven? Maw als ik battlefield op poort 3000 laat draaien komt dan ook al het verkeer van de clients op poort 3000 terecht? (lijkt mij wel, maar weet niet zeker ;))
das wel een goeie, wie heeft het antwoord?

Maar aan de andere kant, alle poorten staan dicht in min firewall behalve de benodigde poorten

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Verwijderd schreef op 18 September 2003 @ 12:13:
Misschien een domme vraag hoor, maar verloopt het verkeer bij gameservers altijd over de poort welke is opgegeven? Maw als ik battlefield op poort 3000 laat draaien komt dan ook al het verkeer van de clients op poort 3000 terecht? (lijkt mij wel, maar weet niet zeker ;))
Ja, doorgaans gaat alle communicatie ala:
C opent een lokale poort P maakt verbinding op poort X van S.
C verstuurt alle data vanaf P naar X en S verstuurt alle data met X als afzendadres naar C.

De "socket" die daarmee ontstaan is, is uniek te identificeren aan het koppel S-X-C-P, maar dat is iets dat je OS bijhoudt ;)

Bij ftp wordt er trouwens een aparte commando-socket opgezet, maar doorgaans gaat het als hierboven.

[ Voor 7% gewijzigd door ACM op 18-09-2003 15:14 ]


Verwijderd

Snow_King schreef op 15 September 2003 @ 14:51:
ok, ik snap het..

Ik ga eerst eens kijken naar ipac, maar ik zie dat die alleen per IP logt en niet per poort?
De BF server heeft wel zijn eigen IP dus dat is geen probleem :)
Gaat prima per poort, zie:
http://members.home.nl/mvanrijnen/mrtg

(die grafiekdata, onderaan, voor protocol grafieken komt van ipac af)

Verwijderd

Het oeft niet zo te zijn dat jouw inkomende poort de zelfde poort als bij de client. Bijvoorbeeld; je kan op poort 80 een GET vragen op een web-server en het pakket bij jouw op bv. poort 1034 binnen krijgen. Dat staat gedifinieerd in je TCP-header.
Pagina: 1