Ubuntu Suomen keskustelualueet

Ubuntun käyttö => Ohjelmointi, palvelimet ja muu edistyneempi käyttö => Aiheen aloitti: ajaaskel - 28.11.12 - klo:20.42

Otsikko: chknodes - rinnakkainen ping
Kirjoitti: ajaaskel - 28.11.12 - klo:20.42
Kirjoittelin alusta lähtien uuden version "chknodes" ohjelmasta.  Ohjelman idea nykyisellään on pingata nopeasti kaikki oman verkkosi ip-osoitteet läpi eli löytää kätevästi omat laitteet.  Haluttaessa ohjelma kysyy myös löytyneistä osoitteista http-vastetta ja koostaa lyhennelmän siitä. Tuo auttaa usein tietämään mikä laite siellä on.   Täältä se löytyy:

http://www.homelinuxpc.com/download/chknodes.bash (http://www.homelinuxpc.com/download/chknodes.bash)    

Käyttö:  Tiputuksen jälkeen anna ajo-oikeus

Koodia: [Valitse]
chmod +x chknodes.bash
 ja aja kerran

Koodia: [Valitse]
./chknodes.bash
jolloin se asentuu.  Tuon jälkeen riittää kun antaa:

Koodia: [Valitse]
chknodes
Pelkkä "chknodes" tekee vain rinnakkaispingin mutta jos annat vivun "-H" perään niin tehdään myös http-kysely löytyneille osoitteille:

Koodia: [Valitse]
chknodes -H
ja vastaus näyttää esimerkiksi tältä:

2012-11-28 19:58:19 +0200 Detected own ip address 192.168.1.200/24
Netbits= 24
Nodebits=8
i_max=255
                        
IP Address      Http response
192.168.1.1     RomPager/4.51 UPnP/1.0 192.168.1.1 - ZyXEL ZyWALL 5 Internet Security Appliance
192.168.1.5     Binary file (standard input) matches
192.168.1.10    uc-httpd 1.0.0 NetSurveillance WEB
192.168.1.15    Apache/2.2.16 (Ubuntu) Index of / Server at 192.168.1.15 Port 80
192.168.1.200   -
192.168.1.202   -
192.168.1.203   -
192.168.1.253   Router

Koodi tarkastaa ensin oman verkon tiedot, erottelee verkko-osuuden ja pingaa sen mukaisesti kaikki oman verkon työasemaosoitteet ("node") järjestyksessä 1,2,3,.... IPmax. Peite voi olla minkä mittainen hyvänsä, koodissa on ip-osoitteiden binäärimuunnos jonka kautta määritetään pingattava alue.
Jos peite on hankala tulee pingattavaksi epäkaytännöllisen suuri määrä osoitteita.  Vedin rajan että jos net-bittejä on alle 9 (eli /8 verkko, peite 255.0.0.0) ohjelma kieltäytyy.  
"-h" vipu näyttää kaikki mitä on saatavilla:

chknodes -h

chknodes ---- fast parallel ping

chknodes [-l|--log] [-h|--help] [-H|--http] [-u|--uninstall] [-v|--version] [-V|--verbose]

  -l | --log        Log to file
  -h | --help       Show this help screen
  -H | --http       Check also http response
  -u | --uninstall  Remove installation
  -v | --version    Show version
  -V | --verbose    Show each ip address pinged


Huomautus/varoitus:  
Koodin ollessa sekä rajoittamaton että tehokas massapingaukseen en ota pienintäkään vastuuta jos sitä käytetään muuhun kuin omien laitteiden paikannukseen omassa verkossa.  Koodia ei ole testattu kehityksen aikana muualla kuin sisäverkossani.   Näkemättä on (mutta mahdollista sekin) että operaattorin verkossa tuo aiheuttaa liittymäsi yhteyden automaattisen katkaisun jos verkonvalvonta luulee peräkkäisiä osoitteita pingaavan liikenteen lähettäjäksi virusta.  Harkintaa siis ensin.

Tämä on ensimmäinen versio uudella koodilla, korjataan vikoja ja tehdään muutoksia/parannuksia perässä.
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: mrl586 - 28.11.12 - klo:21.56
chknodes tukee vain eth-kortteja. Verkkokortin laitenimi voi olla muunlainenkin (esim. wlan0).


 
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: Illu - 29.11.12 - klo:11.15
Ja kun tuon suorittaa päätteessä, millä sen lopettaa? Muuten kuin sulkemalla päätteen.
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: ajaaskel - 29.11.12 - klo:18.06
chknodes tukee vain eth-kortteja. Verkkokortin laitenimi voi olla muunlainenkin (esim. wlan0).
Jep, pitää paikansa1.  Kaikki parannusehdotukset ja ideat ovat tervetulleita. Toteutan uusia ominaisuuksia tuohon perässä.

Lainaus
Ja kun tuon suorittaa päätteessä, millä sen lopettaa? Muuten kuin sulkemalla päätteen.
Normaalitilanteessa sitä ei tarvitse lopettaa, se tekee tehtävänsä ja näyttää tulokset.  Pitäisi kuitenkin haluttaessa sammua kesken pingaustoiminnankin ja mennä tulosten näyttöön kun painaa Ctrl-C, kokeilitko ?   Voi sen pakottaa sammumaan toisesta päätteestäkin, viimeistään tapposignaali lopettaa sen siihen paikkaan:

Koodia: [Valitse]
killall -9 chknodes

1Edit:
Nyt toimii myös wlan:in kautta. Uusi v2.01 esillä.
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: Illu - 29.11.12 - klo:19.38
Mulla ei sammu Ctrl-C:llä mutta ei se nyt ole iso ongelma, pääte kiinni vaan.
Jää tähän tilaan:
Koodia: [Valitse]
ilkka@koti-desktop:~$ chknodes
2012-11-29 19:34:06 +0200 Detected own ip address 192.168.100.34/24
Netbits= 24
Nodebits=8
i_max=255
Active: 1
Tutkin asiaa.

On muuten kätevä koodinpätkä eräällä julkisella alueella, jossa on laaja wlan-verkko kesäasukkaille, näkee porukan aktiivisuuden.
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: ajaaskel - 30.11.12 - klo:11.38
Lainaus
Active: 1
Tuossa "Active:" -kohdassa se odottaa kunnes viimeinenkin ping on saanut loppuun työnsä.  Jos yksikin ping jää jumiin roikkumaan ei ohjelma pääse eteenpäin (kun koodi varmistaa että viimeinenkin ping on valmis ennen kuin mennään tuloksia näyttämään).  Mielenkiintoista olisi tietää mikä tuon aiheuttaa. Näyttäisiköhän "ps -Af" toisessa päätteessä tuon tarkemmin mitä sen pingin komentorivillä on joka jumii ?  Pääsisi koeajamaan sitten päätteessä tuon pelkästään.
 Ehdottaisin toisena asiana kokeilemaan että tapat toisessa päätteessä sen yhden roikkuvan pingin ("killall -9 ping") jolloin odotus vapautuu ja ohjelma menee eteenpäin näyttämään tuloksia.
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: Illu - 30.11.12 - klo:11.41
Tämä ilmenee uudehkossa pöytäkoneessa, joka on johdolla kiinni modeemissa. Vieressä oleva läppäri wlanilla tunnisti oivasti kotiverkossa olevat laitteet, joten ongelma kohdistuu pöytäkoneeseen. Tutkin asiaa illemmalla.
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: ajaaskel - 30.11.12 - klo:11.56
Ok, editoin jo hieman tuota ylläolevaa viestiäni. Kannattaa kurkistaa ensi töinä toisessa päätteessä

Koodia: [Valitse]
ps -Af
kun on jumitilanne, näkyisikö jotain hyödyllistä.
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: odysseus - 30.11.12 - klo:16.12
Hmmm. Onhan se tämäkin jo olemassa:

http://www.overlooksoft.com/fing

Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: ajaaskel - 30.11.12 - klo:19.31
Hmmm. Onhan se tämäkin jo olemassa:

http://www.overlooksoft.com/fing


On toki joskin lähestymistapa ja idea on hieman erilainen.  
"Fing" yrittää olla hieman kaikkea ja tekee porttiskannauksen jäljittääkseen kaikki avoimet palvelut.  Tuo voi aiheuttaa pahennusta ja hankaluuksia tekijälle jos vahingossakin teet tuon vieraassa verkossa.

"chknodes" ei skannaa portteja vaan lähettää haluttaessa vain http-yhteyden avauspyynnön, sama kuin jos menet webbiselaimella käymään kyseisessä paikassa.  Tuota ei yleensä tulkita vihamieliseksi toimeksi sillä se on sama tilanne kuin normaalistikin webbiselaimella liikuttaessa milloin mihinkin osoitteeseen.
Useita verkon laitteitahan voi "konffata" eli tehdä niihin käytön kannalta tarpeellisia asetuksia avaamalla yhteyden webbiselaimella kyseiseen laitteeseen.   "chknodes" yrittää vain selvittää nuo laitteet (eli joissa on sisäänrakennettu webbipalvelin).  Tietysti "oikeatkin" webbipalvelimet vastavat tuohon eikä pelkästään ne verkon erilaiset "purkit".

Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: Illu - 30.11.12 - klo:19.58
"ps -Af" ei minulle kerro mitään epäilyttävää.

"killall -9 ping" ei vaikuta, sanoo vain ettei prosesseja.
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: jekku - 30.11.12 - klo:20.31
"ps -Af" ei minulle kerro mitään epäilyttävää.

"killall -9 ping" ei vaikuta, sanoo vain ettei prosesseja.

Kenen omistuksessa tiedostot:
/tmp/found ja /tmp/sorted

Sain jumituksen aikaiseksi kun ajoin uuden version asennuksen suoraan sudolla, ja nuo vaihtuivat rootin omistukseen joten omilla oikeuksilla ei sitten edennyt.

(Tosin en toistanut em. koetta.)
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: Illu - 01.12.12 - klo:09.07
"ps -Af" ei minulle kerro mitään epäilyttävää.

"killall -9 ping" ei vaikuta, sanoo vain ettei prosesseja.

Kenen omistuksessa tiedostot:
/tmp/found ja /tmp/sorted

Sain jumituksen aikaiseksi kun ajoin uuden version asennuksen suoraan sudolla, ja nuo vaihtuivat rootin omistukseen joten omilla oikeuksilla ei sitten edennyt.

(Tosin en toistanut em. koetta.)


Tiedostojärjestelmässä ei ole tuollaisia tiedostoja. Ei nyt menetetä yöunia tämän yhden koneen takkuilun takia. Talouden muilla koneilla ohjelma toimii oikein hyvin, kiitos siitä.

Isompi murhe on nyt siinä, että kesken surffailun näyttö (näytöt) pimenevät. Jotain xorg-vikaa kenties, eikä mitään hajua, mistä päästä aloittaisi vianhaun.
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: ajaaskel - 01.12.12 - klo:17.43
Lainaus
Tiedostojärjestelmässä ei ole tuollaisia tiedostoja.

Aina kun ping saa vastauksen tuohon /tmp/found -tiedostoon kirjoitetaan hännille uusi merkintä.  Hieman myöhemmin tuo lista lajitellaan ja tulos kirjoitetaan --> /tmp/sorted -tiedostoon.  Jos näitä ei ilmesty niin kannattaa tarkastaa onko /tmp kansion oikeudet jotenkin väärin että noita ei pystytä luomaan (voi verrata vaikka siihen toimivaan koneeseen).  Toinen vaihtoehto on tosin että niin pitkälle että nuo tiedostot syntyisivät ei päästy jostain muusta syystä.    
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: Illu - 01.12.12 - klo:18.27
Tiedostojärjestelmän tmp -kansion oikeudet ovat rootilla. Eipä tuossa toisessakaan koneessa ole noita kansioita. Pääasia kuitenkin on, että ohjelma toimii jossain talouden koneessa.
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: kuutio - 01.12.12 - klo:20.56
Tiedostojärjestelmän tmp -kansion oikeudet ovat rootilla.
Niin niiden pitäisikin olla, mutta tmp:n toiminnan kannalta myös muilla pitäisi olla kirjoitusoikeudet sinne, oktaalisena 1777 oikeudet, eli drwxrwxrwt (huomaa tuo sticky-bit "t")
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: ajaaskel - 01.12.12 - klo:21.42
Lainaus
Eipä tuossa toisessakaan koneessa ole noita kansioita.
"chknodes" käyttää vain yhtä kansiota eli /tmp.  "found" ja "sorted" ovat tavanomaisia tekstitiedostoja. Nuo oikeudet voi tarkastaa vaikka näin (eli tässä malli kun kaikki on kunnossa):

Koodia: [Valitse]
ls -ld /tmpdrwxrwxrwt 15 root root 36864 joulu  1 21:17 /tmp

eli tuo on juuri kuten "kuutio" ehtikin jo opastamaan.

Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: Illu - 02.12.12 - klo:11.48
Nyt juttu rönsyää aiheen ulkopuolelle. /tmp toki löytyy ja oikeudet ovat rootilla kuten vaikkapa vaikkapa ajaaskelilla hänen esimerkillään katsottuna. Mutta siellä kansiossa ei ole noita tiedostoja (sorted ja found). Kummassakaan katsotussa koneessa.

Nyt en osaa hahmottaa ratkaisua, nimittäin tässä koneessa X tökkii ja sammuu totaalisesti välillä. Tekstipohjaisesti sitten yritän käynnistää sen uudelleen tai boottaan koneen kokonaan. No ctrl-alt-f1 ja siellä sitten taas selailin nuolilla edellisiä komentoja ja eteen tuli myös chknodes. Kokeilin sitä ja sehän toimi aivan kuin oppikirjasta ja siten on käytettävissä. Sikäli voidaan ongelma todeta ratkaistuksi omalta kohdaltani. Se ei siis liity chknodesin toimintaan vaan johonkin muuhun.

Pitänee alkaa valmistautua 12.10:n puhtaaseen asennukseen (kenties päivitysten rasitteet painavat).

edit: Eipä puhdas uudelleenasennus vaikuttanut (no problem).
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: ajaaskel - 15.01.14 - klo:19.48
Uusi versio esillä:

http://www.homelinuxpc.com/download/chknodes (http://www.homelinuxpc.com/download/chknodes)

Uusia ominaisuuksia:

 -n    =nimet, kysytään hostname (reverse lookup)

chknodes huomaa jos olet kiinni useammassa verkossa samaan aikaan (esim. eth0 ja eth1 tai wlan) ja antaa menun josta voi valita mikä verkko pingataan.  Voit myös valita että syötät itse pingattavan verkon CIDR muodossa eli tyyliin 192.168.1.0/24.  Pingattavaa nettiä on yritetty rajata hieman jos yrittää liiallisuuksia tai kirjoittaa vahingossa järjettömän arvon.

Huomaa että vipuja ei voi kirjoittaa yhteen eli ei siis "-nH" vaan pitää kirjoittaa "-n  -H"  erikseen.  Tuo yhdistelmä kyselee sekä dns nimen että http vasteen.  Tuossa on koko helppi:

chknodes -h

chknodes ---- fast parallel ping

chknodes [-l|--log] [-h|--help] [-H|--http] [-u|--uninstall] [-v|--version] [-V|--verbose]

  -l | --log        Log to file
  -h | --help       Show this help screen
  -H | --http       Check also http response
  -n | --names      Get also host names
  -u | --uninstall  Remove installation
  -v | --version    Show version
  -V | --verbose    Show each ip address pinged

Ensimmäinen ajo:

Koodia: [Valitse]
chmod +x chknodes; ./chknodes
jonka jälkeen riittää:

Koodia: [Valitse]
chknodes
ja lisävivuilla "-n -H" näkyy hieman enemmän:

Koodia: [Valitse]
chknodes -n -H
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: Kinnari - 20.03.18 - klo:17.07
vähän vanha juttu mutta minulla 17.10 käytössä ja chknodes antaa seuraavaa:
Koodia: [Valitse]
jorma@kotikone:~$ chknodes
2018-03-20 17:03:00 +0200 Detecting own ip address FAILED.
Jokin asetus pielessä? verkkotiedot:
Koodia: [Valitse]
jorma@kotikone:~$ ifconfig
enp4s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.0.107  netmask 255.255.255.0  broadcast 192.168.0.255
        inet6 2001:999:13:8e50:a80c:634a:a259:2  prefixlen 128  scopeid 0x0<global>
        inet6 fda8:c63:4aa2:5900:85e7:fecf:39b9:47d0  prefixlen 64  scopeid 0x0<global>
        inet6 2001:999:13:8e50:714b:d8a1:dbe9:b156  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::ac4f:fe55:2ad2:b7d7  prefixlen 64  scopeid 0x20<link>
        inet6 fda8:c63:4aa2:5900:56fa:f9ae:f341:2333  prefixlen 64  scopeid 0x0<global>
        inet6 2001:999:13:8e50:85e7:fecf:39b9:47d0  prefixlen 64  scopeid 0x0<global>
        ether 00:21:85:5d:cf:17  txqueuelen 1000  (Ethernet)
        RX packets 80103  bytes 102106972 (102.1 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 48215  bytes 6220479 (6.2 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 8036  bytes 552150 (552.1 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8036  bytes 552150 (552.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: ajaaskel - 07.04.18 - klo:21.39
Versio 2.2 näyttäisi toimivan itselläni aivan tuoreen Mint: in kanssa, mikä versio kyseessä ?

Koodia: [Valitse]
chknodes -v
chknodes yrittää näyttää jotain hyödyllistä myös hhtp-vasteista jos käyttää -H vipua ja hostnamen nimipalvelulta kysyttynä jos käyttää -n vipua.


"nmap" (pitää asentaa erikseen) on myös nopea tapa katsoa mitkä laitteet ovat aktiivisia:

Koodia: [Valitse]
nmap -sn 192.168.1.0/24
Tuon jälkeen voi toki kysyä http-vastetta vaikka curl: in avulla:

Koodia: [Valitse]
curl -I  <jokin_ip_osoite>             ^ tuo on siis iso ii-kirjain

Yhtä hyvin sillä voi tarkistaa minkä hyvänsä webbipalvelimen tilan.
Otsikko: Vs: chknodes - rinnakkainen ping
Kirjoitti: Kinnari - 08.04.18 - klo:20.59
jorma@kotikone:~$ chknodes -v
2018-04-08 20:57:52 +0300 chknodes --- fast parallel ping v2.01


chknodes mielestäni toimi aikaisemmin, n. pari vuotta sitten,  moitteettomasti, tällä 17.10:llä en ole aikaisemmin kokeillut