Титла: Слушане за включване на компютри в дадена подмрежа Публикувано от: sharkydog в Feb 26, 2009, 12:56 Извинявам се за тъпото заглавие на темата, ама не мога да се сетя как по-друг начин да опиша проблема си кратко.
Възможно ли е когато един компютър в дадена мрежа се включи, това "събитие" да се хване от друг компютър в мрежата, и след това разбира се да се извърши някакво действие след получаване на този "сигнал". Т.е. искам да слушам в мрежата за някакъв трафик, който е индикация че точно определен компютър е бил включен, и при засичане на тези пакети да се стартира някакъв скрипт. Нямам в предвид да пускам ping-ове докато въпросният компютър бъде включен. Възможно ли е това? Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: ivanatora в Feb 26, 2009, 13:50 DHCP използва ли се в мрежата?
Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: sharkydog в Feb 26, 2009, 14:02 не
няма ли някакви broadcast, multicast и т.н. пакети които могат да се хванат ... :) ? Мисля че е повече от ясно че знам IP адреса и MAC-а на въпросната машина Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: romeo_ninov в Feb 26, 2009, 14:08 неЕдин трап от превключвателя при вдигане на порта? Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: voyager в Feb 26, 2009, 14:19 sharkydog, ping ако отсреща работи обикновен user... :)
Като получиш icmp reply и знаеш че компютъра е активен, +-овете са че решението е тривиално да си го направиш, дори с малко повече фантазия можеш и лог файл да направиш. - - ако отсреща има някой "хакер" които си следи трафика... (и по-точно - аномалиите в трафика, получаването на icmp пакети от някъде откъдето по принцип не трябва да получаваме лично аз го считам за "аномалия заслужаваща внимание") Другото което можеш да направиш е със netcat (nc) да слушаш за трафик, като видиш че от МАC-а на компютъра които те интересува почват да фърчат ARP пакети от/към... +-а на това решение е че е практически незасечимо... естествено, тука си говориме за стандартната ситуация където става въпрос за домашна мрежа и не-интелигентни суитчове. В случай че имаш административен контрол и над "умен" суич... можеш през SNMP да си дърпаш информация за състоянието на портовете, и като ти се дигне тоя порт които ти трябва пак да получаваш съобщение. Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: sharkydog в Feb 26, 2009, 14:27 @romeo_ninov
не те разбрах много добре ... просто искам да знам когато мишената се включи и евентуално вече може да се осъществи някаква връзка. не е проблем и "известието" да дойде в някакъв по ранен момент от този в който ще може да се направи връзка с машината (да се пингне примерно) @voyager Цитат на: voyager Другото което можеш да направиш е със netcat (nc) да слушаш за трафик, като видиш че от МАC-а на компютъра които те интересува почват да фърчат ARP пакети от/към... +-а на това решение е че е практически незасечимо...Точно нещо такова ми трябва, не че искам да е незасечимо, не съм хакер и на другата машина не стои хакер, просто не искам да пращам луди пингове часове наред, за да разбера кога компютъра вече е активен. Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: voyager в Feb 26, 2009, 16:42 ето ти примерен скрипт които проверява за точно това в продължение на 24 часа:
Код: #!/bin/bash - това ти праща един ICMP пакет в минута до дадено ИП в продължение на 24 часа. Предполагам че не ти трябва точната секунда на включване... :D На изхода виждаш timestamp и ако другата машина е включена, нещо от сорта на: 13:54 64 bytes from 1.1.1.1: icmp_seq=1 ttl=255 time=1.50 ms (и това ще го виждаш докато е включена, спре ли да е включен отсрещния комп това 64 bytes ... изчезва, остават само timestamp-ове) Това решение прави само 1440*64*2 или 184,320 байта (грубо 200 килобайта). Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: romeo_ninov в Feb 26, 2009, 17:31 @romeo_ninovИдеята е при теб да имаш SNMP клиент и на превключвателя да настроиш изпращане на trap в момента на "вдигане" на порта. НО това означава софтуер при теб и интелегентен превключвател. Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: tarator в Feb 26, 2009, 18:24 Ако слушаш за ARP пакети вероятно ще разбереш кога даден компютър се е включил.
Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: gat3way в Feb 26, 2009, 18:38 Не е задължително.
Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: tarator в Feb 26, 2009, 18:59 ARP пакетите се broadcast и компютъра ще ги чуе. Разбира се, това ще се случи ако а) другия компютър прави мрежов трафик; и б) арп кеша е експирясал.
Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: laskov в Feb 26, 2009, 21:44 Един трап от превключвателя при вдигане на порта?Портът може да си е вдигнат, а компа в да е в "стенд бай". Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: shadowx в Feb 26, 2009, 23:58 ako imat firewall trqbva da napravish neshto ot tipa :
#!/bin/bash file="./file" tmp_file=`mktemp` d=`date` for n in `seq -f %g 1 254`; do z=`arping -c 1 192.168.1.$n | grep Recived | awk '{print $2}'` if [ $z == "1" ]; then if ! grep "192.168.1.$n" $file ; then echo "[$d] 192.168.1.$ip" >> $file fi else if grep "192.168.1.$n" $file ; then cat $file | grep --invert-match "192.168.1.$n" > $tmp_file mv -f $tmp_file $file fi fi tva e varqnta s arping ... grozno no bi svarshilo rabota ... drugiq ti varqnt e da pravish nehsto , no s pcap naprimer da slushash na arp no bi bilo kade kade po slojno za pisane ..., i ne si zalujava truda ako pitash men .....lesno shte hvanesh slushaki na arp nivo , koga nov kompiutar se e zakachil , no momenta sys tova koga e sprql e po slojen , shte trqbva da mahash zapisi po stari ot X vreme i pak se polichava v kraina smetka grozna rabota .... p.s.: ako iskash da varvi non stop go sloji v nqkaf cikyl while true ; do blqblq ;done i si sloji samo nqkaf sleep nakraq .... otvreme navreme da go pravi . Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: sharkydog в Feb 27, 2009, 10:02 не ми трябва да знам кога е спрял, само кога е пуснат
tcpdump -i eth0 arp това ми изкарва пакети от рода: reply IP is-at MAC who-has IP tell IP нещо ми подсказва че трябва да хващам пакети от първия тип (втория тип не знам какви са, ... по-малко са и второто IP е на рутера в мрежата). Сега остават два въпроса. 1) как да укажа в expression-а на командата че искам reply IP is-at MAC пакет с точно определен MAC 2) как да автоматизирам нещата че като получа желаните пакети да стартирам някакъв скрипт, предполагам самата командата ще се изпълнява от скрипт :) ... и "слушането" трябва да спре когато въпросните пакети са хванати и "известяването" е извършено :) и btw, това няма да ми върви цял ден, просто искам в рамките на 2-3 часа да знам кога се е включил този компютър, за да не пингвам през 5 минути ... EDIT: забелязах един може би не много малък проблем, на всички пакети пише един и същ MAC адрес, предполагам този на рутера, arp -a също показва едни и същи MAC-ове, освен това ping на ip в subnet-а идва с коригирания ttl от рутера както е за всички външни адреси ... Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: shadowx в Feb 27, 2009, 19:24 Ми .... tcpdump -q -n -i eth0 arp | grep MAC_ADDRESS
Като видиш ред -> комп-а е дошъл.... п.с.: неможе рутер-а да ти сменя TTL-a на пинг-а ако пингваш в твоя си subnet ... Ако имаш мрежа 192.168.100.0/24 .... примерно рутера е 192.168.100.1 ти си 192.168.100.43 /следователно маската ти е 255.255.255.0/ Та комуникацията ти със всички ИП-та от мрежат 192.168.100.0 неминава през рутер-а .... следователно той неможе да променя TTL-a... Точно това е идеята на тоя нетмаск .... да знае комютъра ти с кои машини може да си комуникира директно , и с кои ще трябва да мине през гейт-а . Относно едни и същите макове .... явно твоя и този на рутера .... а на arp -a ще виждаш само мак адресите на компютрите с който имаш активна комуникация ..... ако не си пращате пакети със 192.168.100.95 , закаво му е на твоя комп да има мак адреса му в арп таблицата ? :) това е излишно . пусни някакъв броудкаст и ще се напълни арп таблицата ти .../нещо към ff:ff:ff:ff:ff:ff/ защото повечето верочтно няма да ти отговорят на броудкаст на layer3 .... Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: tolostoi в Feb 28, 2009, 09:17 п.с.: неможе рутер-а да ти сменя TTL-a на пинг-а ако пингваш в твоя си subnet ...Всъщност може, някой доставчици го правят, ако примерно е сетнат директно публичнният адрес http://hardwarebg.com/forum/showthread.php?t=144680&highlight=%EC%E5%E3%E0%EB%E0%ED Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: gat3way в Feb 28, 2009, 12:02 Това също е резултата ако рутерът прави proxyarp между отделни сегменти. Значи при клиента е вдигнат интерфейс и мрежова маска примерно /24. Обаче тази /24 мрежа може дефакто да е "разцепена" на 4 сегмента като рутера прави рутирането между тях. Тогава за клиент от единия сегмент, мак адреса на клиент от друг сегмент е еднакъв с мак адреса на рутера. Това се прави с цел например да се прави packet filtering или QoS в рамките на /24 сегмента, прозрачно за клиентите.
Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: shadowx в Mar 02, 2009, 09:35 Всъшност неможе :) няма как рутера да пренапише TTL-а на пакет който неминава през него...п.с.: неможе рутер-а да ти сменя TTL-a на пинг-а ако пингваш в твоя си subnet ...Всъщност може, някой доставчици го правят, ако примерно е сетнат директно публичнният адрес http://hardwarebg.com/forum/showthread.php?t=144680&highlight=%EC%E5%E3%E0%EB%E0%ED Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: tolostoi в Mar 02, 2009, 11:53 Само, че той минава в описаният случай.Всъшност неможе :) няма как рутера да пренапише TTL-а на пакет който неминава през него...п.с.: неможе рутер-а да ти сменя TTL-a на пинг-а ако пингваш в твоя си subnet ...Всъщност може, някой доставчици го правят, ако примерно е сетнат директно публичнният адрес http://hardwarebg.com/forum/showthread.php?t=144680&highlight=%EC%E5%E3%E0%EB%E0%ED Пише се "не може". Титла: Re: Слушане за включване на компютри в дадена подмрежа Публикувано от: sharkydog в Mar 02, 2009, 20:15 минава си да, един trace го доказва ...
ето какво направих досега: tcpdump -q -n -i eth0 arp net 123.123.123.123 това хваща всички пакети които имат нещо общо с този адрес (не слагам MAC, понеже както споменах се вижда само този на рутера). когато не е включен, не получавам нищо освен ако не се опитам да го пингна, тогава за всеки пинг получавам по един пакет arp reply IP is-at MAC MAC разбира се пак си е този на рутера, предполагам ако някой друг се опита да пигне този адрес пак ще хвана някой arp пакет? от време на време виждам и: arp who-has IP tell друго_IP все още не мога да разбера какви са тези ... edit: сега ги схванах who-has са запитванията, а reply са отговорите :) |