Szeretnék egy monitornak felkonfigurált sw porton folyó forgalmat gyűjteni tcpdump-al.
Igazából a 80-as és 25-ös TCP portokat szeretném leszedni.
Két kérdésem lenne ezzel kapcsolatban.
- Milyen interface konfig kell hozzá, mert ugyebár IP-t nem kell neki adni?
- Hogy tudnám nem root user alol futtatni automatikusan azt a scriptet? Első ötletként a sudo megoldást találtam, ezzel kapcsolatos véleményeitek? A gond talán ezzel az, hogy raw packetként szeretném kiírni, de szintén nem root jogosultságú file-ba. Nekem a -Z nem működött.
Köszi
- 5394 megtekintés
Hozzászólások
up
- A hozzászóláshoz be kell jelentkezni
- Milyen interface konfig kell hozzá, mert ugyebár IP-t nem kell neki adni?
A switch oldalan vagy a masik oldalon? :) Mert a switchben nyilvan be kell configolni, hogy ez egy monitor port, errol bovebben lasd a manual megfelelo reszet. A masik oldalon meg kvazi mindegy, mert ha promiscuous módban tcpdumpolsz, akkor meg fogsz kapni mindent. Lehet persze, h. vlan taggelesnel, vagy ha valami egzotikus dolgot csinalsz, akkor szamit a konfig, de nekem konkretan egy ifconfig ethx up utan ment a dolog, es nem is foglalkoztam vele sokat...
- A hozzászóláshoz be kell jelentkezni
Egyértelműen a gép oldalán, a sw az adott :)
Akkor felhúzom sima auto módba az interface-t és kész.
köszi
Viszont a felhasználó kérdése még mindig nem tiszta, mert a sudo az tutin megy, viszont nem sikerül felhasználói jogokkal menteni a file-t.
- A hozzászóláshoz be kell jelentkezni
>viszont nem sikerül felhasználói jogokkal menteni a file-t.
mutasd a konkret problemat, mert nem ertem, h. mit szeretnel pontosan.
- A hozzászóláshoz be kell jelentkezni
Első lépésként ez lenne:
sudo tcpdump -n -s 1500 -C 1 -W 10 -i eth0 -w snoop.pcap
Van egy -z kapcsolója, ami a lezárt file-t engedné mahinálni egy scripttel, de nekem ez sem működött.
sudo tcpdump -n -s 1500 -C 1 -W 10 -z jog.sh -i eth0 -w snoop.pcap
a jog.sh-ban egy sima chown lenne benne
Ezeket csak tesztelésre használtam, hogy hamar megteljenek a file-ok.
- A hozzászóláshoz be kell jelentkezni
Az nem jó megoldás, hogy ha először létrehozol user oldalról egy üres fájlt, a megfelelő jogokkal és utána sudo tcpdump ... ?
- A hozzászóláshoz be kell jelentkezni
De jó megoldás lenne, csak gondoltam van szebb megoldás is.
- A hozzászóláshoz be kell jelentkezni
De jó megoldás lenne, csak gondoltam van szebb megoldás is.
van.
sudo 'touch blabla; chown pistike blabla; tcpdump -w blabla'
vagy valami hasonló.
esetleg belerakod az egészet egy scriptbe a root home-jában, és sudo script.
- A hozzászóláshoz be kell jelentkezni
nem probaltam, most windows elott ulok, de esetleg igy?
sudo 'tcpdump [opciok] -w - ' > file
ronda, de lehet, h. mukodik :D (persze igy a file wrappelest kivulrol kell megoldanod)
- A hozzászóláshoz be kell jelentkezni
Még arra gondoltam, hogy egy PIPE-ba írom a cuccokat, amit syslog-ng-vel olvasok, és szépen írom a megfelelő helyre, megfelelő jogokkal.
Elég nyakatekert eljárás, de így a darabolás is megoldható.
Vélemény???
- A hozzászóláshoz be kell jelentkezni
Vélemény? syslog-ng össze fogja fosni magát :)
Ha pipeolni akarsz, akkor így csináld:
mkfifo /tmp/mk_pipe
sudo "tcpdump [opciok] -w -" > /tmp/mk_pipe
es ezt a named pipeot olvashatod a sima userrel, aki majd wrappeli a logot:
tcpdump -r /tmp/mk_pipe -C 10 -W 10 -w /tmp/file.pcap
Ezt kiprobaltam, es mukodik szepen. Jöhet a sör :)
- A hozzászóláshoz be kell jelentkezni
Miért is f0sná össze magát?
- A hozzászóláshoz be kell jelentkezni
jól van, akkor nem fossa, tényleg ez a legjobb módszer amit leírt, de nem tervezek hitvitát nyitni.
- A hozzászóláshoz be kell jelentkezni
Nem flém miatt írtam, tényleg kíváncsivá tettél, hogy miért is lenne gondja, ha normálisan formázott bejegyzéseket tolnál bele?
- A hozzászóláshoz be kell jelentkezni
Nalam egy syslog-ng (igaz egy eleg regi darab:1.6.8) logging server ~1.080.000 log bejegyzes/percet bir egy 12 coreos Xeonon, ugy, hogy csak loggolasra van hasznalva, de a CPU az egekben van. Mondjuk vannak filtereim es nem named pipebol olvasok, hanem udp-n jon a log 8 remote noderol, de en ebbol azt szurtem le, hogy azert a syslog elegge le tudja zabalni az eroforrasokat.
Szoval hacsak a srac nem egy 10 mbites vonalat akar captureolni, akkor en nem vennem bele a kepbe a syslog-ng-t, mert valszeg eleg nagy loadja lesz, ahhoz kepest, h. mit szeretne csinalni. Plane, h. az altalam leirt megoldas sokkal egyszerubb, mint az egeszet athajtani a syslogon...
- A hozzászóláshoz be kell jelentkezni
Csak halkan jegyzem meg, hogy az OSE a 3.2-nél tart (ha jól tudom), az viszont biztos, hogy az 1.x-hez képest már a kettes széria is jóval nagyobb teljesítményre volt képes.
- A hozzászóláshoz be kell jelentkezni
Tudom, hogy van újabb, de nem lehet (szabad) upgradelni.
Konkrétan mindenből 3-4 évvel le van maradva a rendszer, de megvan az az előnye, hogy csak ismert hibákba futok bele :D
- A hozzászóláshoz be kell jelentkezni
Az 1.6.8 bizony 6 eves, es amennyire emlekszem, nem volt eppen egy jo verzio... arrol nem is beszelve, hogy csak egyetlen procit tud hasznalni (szoval aligha terheli meg a geped maradek 11 procijat), majd csak az OSE 3.3/3.4 hozza magaval az igazi multi-threaded mukodest (a 2.1-tol kezdve volt kulon thread adatbazisoknak). En tobb tizezer gepet keszulok 3.2.x-re migralni a kozeljovoben, szerencsere nem 1.6.x-rol.
- A hozzászóláshoz be kell jelentkezni
Igazad van, rosszul fogalmaztam, mert a "load" nem magas, 1 alatt van, de a syslog CPU hasznalata 70-80% korul van. (A maradek 11 CPU valoban pihen, kiveve amikor az auditok futnak)
Amugy az, hogy 6 eves, az nem feltetlenul baj, mint irtam, megvan az az elonye, hogy csak ismert hibakba futunk bele.
Egyedul a kernelnel faj, hogy ennyire regi verzio...
- A hozzászóláshoz be kell jelentkezni
Ismert hibája, vagy inkább tulajdonsága pl. az, hogy egy cpu-t használ, és egyéb dolgai miatt is performanciája messze elmarad attól, amit az újabb verziók tudnak.
A "nem lehet frissíteni, mert..." szerintem az esetek 60-80%-ában nettó hülyeség, a maradéknál van olyan, ahol az indokok esetleg megfontolásra érdemesek, és csak egy pici szegmens mondhatja el magáról azt, hogy bizony neki a működést lehetetlenítené el egy hat éves szoftver lecserélése mondjuk egy 3-4 éves verzióra akár.
- A hozzászóláshoz be kell jelentkezni
Köszi, működik nekem is. Más csak egy dolgot nem értek.
Ha a pipe jogok ilyenek, akkor egy másik felhasználó miért kapja ezt:
prw-r--r-- 1 snoop snoop 0 2011-08-23 17:11 snoop_tcp_port_25
tcpdump -r /home/snoop/snoop_tcp_port_25
tcpdump: /home/snoop/snoop_tcp_port_25: Permission denied
- A hozzászóláshoz be kell jelentkezni
Nem tudom, nekem megy. Nem lehet, h. valami SELinux v. hasonlo security hardening miatt nem megy?
Nem ertek hozza, de nekem ugyanilyen jogokkal ment, szoval itt valami trukk van a hatterben :)
- A hozzászóláshoz be kell jelentkezni
A 25-ös port forgalmát csak óvatosan, levelezésbe ugyanis alapértelmezés szerint nem nézhetsz bele, még így sem.
- A hozzászóláshoz be kell jelentkezni
Itt csak szimplán alkalmazások leveleznek, így nem sért személyiségi jogot, bár csak nem perel be a gép :)
De köszi, hogy szóltál
- A hozzászóláshoz be kell jelentkezni