Näytä kirjoitukset

Tässä osiossa voit tarkastella kaikkia tämän jäsenen viestejä. Huomaa, että näet viestit vain niiltä alueilta, joihin sinulla on pääsy.


Aiheet - Mistofelees

Sivuja: [1] 2 3 ... 9
1
Yleistä keskustelua / miten tappaa prosessi
« : 06.02.24 - klo:17.52 »
Koneessa näyttäisi pyörivän ohjelma, jota en ymmärrä.
Häviääkö tuo itsekseen, vai pitäisikö huolestua ?
( Tuo komento "nc -l 9999" on annettu tunteja sitten juuri tuossa hakemistossa "/home/bin/Pikkukoneet/tcp/ESP_energia" )

# ps x|grep 9999
 390093 ?        S      0:00 nc -l 9999

# ps -eo pid,user,group,args,etime,lstart | grep '390093'
 390093 root     root     nc -l 9999                        10:11 Tue Feb  6 17:30:47 2024

# pwdx 390093
390093: /home/bin/Pikkukoneet/tcp/ESP_energia

# ls /proc/390093/cwd -l
lrwxrwxrwx 1 root root 0 Feb  6 17:35 /proc/390093/cwd -> /home/bin/Pikkukoneet/tcp/ESP_energia

# ls /proc/390093/exe -l
lrwxrwxrwx 1 root root 0 Feb  6 17:35 /proc/390093/exe -> /usr/bin/nc.openbsd

Olen käyttänyt tuota porttia 9999 aiemmin juuri komennolla "nc -l 9999"
Koittanut tappaa:
- Kone resetoitu
- fuser -k 9999/tcp
- kill -9 390093
- ajettu chkrootkit ja rkhunter

(Hävettää aina kysellä, mutta joskus vaan oma äly loppuu)

2
Yhteen nettisivustoni hakemistoon on omin avuin ilmestynyt uusi tiedosto.
Mikä tämä on ?

".#index.php -> 'root@here.277653'

Googlekaan ei ole kovin avulias.
Hakusana "root@here" tuottaa mielenkiintoisia tuloksia

Eikä käsityökalusitakaan ole mitään apua:

root@tupu:/home/www/gesp32_tracker# ls .#index.php
.#index.php

root@tupu:/home/www/gesp32_tracker# less .#index.php
.#index.php: No such file or directory

root@tupu:/home/www/gesp32_tracker# cat .#index.php
cat: .#index.php: No such file or directory

3
Yleistä keskustelua / Client Cache server ?
« : 03.01.24 - klo:22.29 »
Käytän veneessä ja matkailuautossa omatekemää karttaohjelmaa, jossa taustalla on Leaflet. Kartat tulevat nettiselaimelle kotiserveriltä.
Tekisi mieli pienentää nettiliikennettä puskuroimalla käytettyjä karttatiiliä paikallisesti auton ja veneen serverillä.

Onko olemassa jotain ohjelmaa, joka puskuroisi noita karttatiiliä ?
Kaikki lukemani artikkelit puhuvat nettisivujen hakemisesta cachesta, mutta minulle jää epäselväksi, osaako joku puskuroida noita kuvia.

4
GPS-tracker gt02 lähettää  login messagen TCP-pakettina ja jää odottamaan vastausviestiä. Vasta saatuaan tämän vastauksen se  lähettää paikkatietoa.
Elisan prepaid-kortti ei salli kaksisuuntaista yhteyttä, eli ei päästä yhteyspyyntöä trackeriin päin.
Ilmeisesti kuitenkin trackeri pitää TCP-porttia hetken auki.
Miten saisi tuon vastausviestin lähetettyä ?

Olen jo saanut kirjoitettua ohjelman, joka laskee lähtevälle paketille ITU-CRC-tarkistussumman ja parhaillaan kirjoittelen ohjelmaa, joka rakentaa vaaditun vastauspaketin. Aiemmat yritykset ovat menneet puihin.

Kun login message tulee, saan netstatilla trackerin IP:n ja portin selville. Omituisesti tuo kertoo käyttämääni serverin porttiin olevan liitettynä kolme trackerin porttia.

5
Miten hyökkääjä pystyy käyttämään hyväkseen jotain avointa TCP-porttia, jos sen taakse ei ole itse asennettu kuin ohjelma, joka odottaa dataa ulkoiselta laitteelta ?
Onko Linuxin rakenteessa jotain terminaaliohjelman kaltaista, joka vastaanottaisi komentoja kaukaa ?
Itsellä on nyt auki yksi portti, johon matkailuauton GPS-trakkeri lähettää sijaintitietojaan.

6
Mikä tätä php:tä vaivaa ?
Muutama vuosi sitten tuli php:n versiopäivitys, jossa split korvattiin explore:lla. Ongelman löytämiseen meni monta tuntia.
Teetti hemmetisti työtä päivittää muutamia satoja nettisivuja omissa ja talon servereissä, vaikka kehitin scriptin, joka teki tarvittavat muutokset.

Nykyisessä koneessa päivitin php5 -> php 8.3. Apachen kanssa sai painia hartaasti. Poistin php5.
Uusi phplot kaipasi php7.4-GDI, joten sekin piti asentaa.
Sitten tuli softa, joka kaipasi php5, joten asensin sen takaisin. Ja taas sai painia Apachen kanssa.
Nyt, kun päivitän LinuxMintiä 20.3 -> 21.x, päivitysohjelma kaipaa vielä php7.4.

Onko php päätynyt jonnekin omituiseen limboon kirjastojensa suhteen, vai miksi näitä versioita pitää olla näin paljon ?

Miten tahansa, tykkään php:stä, koska sille on kohtuullisen hyvät opastussivut netissä.
Olisipa JavaScriptille ja AJAXillekin.
JS ja AJAX:n temppuja joutuu onkimaan forumeilta, joilla tärpit tahtovat olla täysin käsittämättömässä muodossa.

7
Onko olemassa jotain valmista työkalua, jonka voisi asentaa serveriin niin, että kännnykältä voisi lähettää tulostuksen serverin tulostusjonoon ?
Mielessäni näen nettisivun, jolla voisi uploadata dokumentit.

Osaan kyllä tälläisen itsekin tehdä, mutta ei huvittaisi, kun on juuri yhden ison projektin saanut käsistään.

Alkaa kyllästyä näihin Androidiin tarjolla oleviin printteri-drivereihin: toimii, ei toimi, toimii, jumittuu, tulostuu miten sattuu.
Siiitä on vuosia, kun olen viimeksi käyttänyt lp:tä, cupsia, prettyprinttiä, ghostprinttiä tai vastaavia.

Serverillä pitäisi tietenkin olla työkalut, jotka muuttaisivat tiedostot tulostuvaan muotoon, esim PDF, joko tiedostopäätteen tai käyttäjän valinnan perusteella.

Tämä oli hyvä löytö, mutta ei vielä riittävä:

http://192.168.0.240:631/printers/

8
Miten kutsua javascriptillä serverillä olevaa php-scriptiä ?

Minulla on nettisivu, jolta yritän lähettää dataa serverille php-scriptille.
Toimii nätisti Linux:n selaimilla.
Androidilta ei toimi.

Linuxilta toimii sekä fetch, että xmlhttp.open -rakenteilla:
    mj="V0/'10:24'"
    response= fetch("http://tupu.neva/rele/talleta.php?val="+mj

sekä
    xmlhttp.open("GET", "http://tupu.neva/rele/talleta.php?val="+mj, true);
    xmlhttp.send();


Androidista käskien php-scripti ei edes käynnisty. (Scriptissä osa, joka tallettaa markkerin scriptin käynnistyessä.)
Sivusto on puhdasta html + Ajax-koodia, koska en ole vielä ehtinyt perehtyä 'parempiin' työkaluihin.
Serveri on samassa sisäverkossa kännnykän ja läppärin kanssa.

Haaskannut tämän kanssa kaksi päivää. Alkaa keittää.

9
Kuinka saisi ajaxia sisältävän sivun pakotettua lataamaan datat selaimelle serveriltä, eikä selaimen cachesta ?

Nettisivu pitää ladata ja käynnistää serveriltä, koska sivun sisältämät JS-scriptit pitää käynnistää uusilla serverillä olevilla lähtöarvoilla.
Tämä pitäisi jotenkin kirjoittaa koodiin, koska suuri osa käyttäjistä ei osaa Ctrl-F5-temppua, joka ei ole edes mahdollinen Androidissa.

Nyt reload kaivaa jatkuvasti vanhan sivun selaimen muistista, eikä serveriltä, jonne ne scriptit ja datat on talletettu file.js-tiedostoon.

Sivulla on 12 "input time" -kenttää ja kolme "input text" -kenttää, joita muokataan ja data talletetaan heti serverille php-scriptillä tiedostoon file.js. Data tallettuu, kuten pitääkin.

Tätä file.js kutsutaan kyseisellä html-sivulla scriptinä joka tuo arvot muuttujina muille JS-funktioille.

file.fs sisältö:
Z01='05:12'
Z02='09:33'
jne

10
Yleistä keskustelua / Firefoxin pahus !
« : 10.01.23 - klo:23.59 »
Olin juuri bookkaamassa lentoa Hevonkuuseen. Pankkikortin tunnarit syötetty ja lentofirman sivu kuittasi, että odotahan hetki.
JA SILLOIN PAMAHTI !
FireFox nollasi sivut ja ilmoitti, että nyt päivitetään.
Ei mitään kysymystä siitä sopisiko tämä minulle. Ei mitään mahdollisuutta palata maksun käsittelyyn.
Mene suoraan kotipesään käymättä vankilan kautta.
No, poikkeaahan tämä M¤Wintoosan tavoista, joka kysyy Yes, No, Cancel, Retry ja tekee vasta sitten jotain typerää.

Koko sirkus piti aloittaa alusta. Lentofirma oli tietenkin tapansa mukaisesti nostanut hintaansa muutamalla kympillä.
Naputi-naputi-naputi ja puoli tuntia myöhemmin oli lippu ulostumassa printteriltä ja kotiserverin kovalevyllä PDF-tiedostona.

11
Yleistä keskustelua / ? Terminologiaa ?
« : 31.12.22 - klo:01.20 »
Nyt hävettää, mutta on pakko kysyä:

Mitä on ARRAY Suomeksi ?

Aikoinaan sitä kutsuttiin nimellä 'vektori'.
Joku käytti nimitystä 'ryhmä', joku jopa 'paririvi'.
'Taulukko' ei oikein ole sama asia, kuin ARRAY, 'Taulukko' on 'Table'

Itse olen muutaman vuosikymmenen  käyttänyt dokumentoinnissa jokseenkin pelkkää Englantia, mutta nyt pitäisi vääntäää dokumenttia myös Suomeksi.

12
Yleistä keskustelua / Kotiserveri
« : 16.12.22 - klo:12.33 »
Jäin taas miettimään, miten ihmiset tulevat toimeen ilman kotiserveriä.
'Äly' laitteiden ohjaus kierrätetään Kiinan kautta, missä niiltä kerätään kotiverkkosi salasanat. Jos Kiinalainen firma kaatuu, jää laite mykkänä  käteen.
Kotiverkon serveriin liitetty laite on turvallisempi ja toimii ilman Kijnalaista firmaa.

Serverin nettisivuille voi lisätä graafeja lämpötiloista, sähkön ja veden  kulutuksesta. Mikäli käytössä olisi oikea reititin, voisi VPN-ohjelmaa käyttäen käyriä katsella vaikka itse olisi ulkomailla. Samoin voisi omia serverillä olevia dokumenttejä hakea kännykällä, vaikka läppäri olisi kotona kaapissa virrattomana.

Kotiserverillä valokuvien lajittelu ja käsittely olisi helpompaa ja mukavampaa, kuin M$ ja Kuukkelin pilvilevyillä. Tosin tarvittavat kuvankäsittely- ja esittelyohjelmat puuttuvat, koska ei ole ollut asiakkaita

Datan varmuuskopiointi ei jäisi sen varaan, että 'asiat ovat omalla läppärillä'.
Omat datat ja valokuvat eivät katoaisi aina läppärin kilahtaessa.
Kevyimmillään kotiserveri on korttipakan kokoinen laite kirjahyllyn nurkassa.. mikäli levytilan tarve kasvaa, siihen voi liittää pari kovalevyä, jolloin kokonaisuus on taskukirjan kokoluokkaa.

Jos kotiserverit yleistyisivät, niille luotaisiin ohjelmia, joita osaisivat hekin käyttää, joilla on vihreä jauhopeukalo keskellä kumpaakin vasenta kättä.

Nykyisin serverit ovat nörttien lahja nörteille. Miina ja Manu ja PK-yritykset on unohdettu (tässäkin) kokonaan.

13
-" Jos haluat toimivan ja juuri päivitetyn serverin, sinulla pitää olla kaksi konetta".
Pakko ilmeisesti uskoa ja hankkia toinen serveri pääserverin rinnalle.

Suoritin tänään distro-upgraden serveriin.
Tulos oli jokseenkin odotettu.
Systeemi nousee pystyyn. Kaikki tähän asti testaamani toimii (ainakin pääsin kirjautumaan)

MUTTA:
Kaikki php:tä sisältävät webbisivut ovat rikki :(

Ei ole ensimmäinen kerta. PHP on ollut varsinainen riesa näiden päivitysten kanssa. Esimerkiksi 'split'-komennon korvaaminen 'explodella' aiheutti minulle parin viikon ylimääräiset työt firman servereiden päivityksessä.
Järkevä ylläpitäjä olisi linkittänyt splitin explodeen php:n ytimessä, jolloin asiakkaille ei olisi aiheutunut niin paljoa kiroamista.
Sain tämän korjattua tekemällä scriptin, mutta työtä oli silti paljon, koska servereitä oli lauma.

Ilmeisesti vika ei tälää kertaa ole PHP:ssä, vaan Apache2:ssa.
Etsimiseen menee taas hel*ti aikaa.

14
Yleistä keskustelua / Arduino IDE 2.0 ?
« : 14.11.22 - klo:19.15 »
Miten tuon Arduinon uuden IDE:n saa asennettua Linuxiin ?
Arduinon omilla sivuilla oleva ohje on pahasti vajaa.
Latasin heidän ZIP-pakettinsa ja levitin sen omaan hakemistoonsa.
Sieltä löytyy ohjelma 'arduino-ide', joka kyllä lähtee pyörimään, mutta ainakaan kahden tunnin odottelulla ei ole tapahtunut mitään muuta kuin että mustalla ruudulla supistelee Arduinon pöllönkuva.
Meinasin mennä kysymään Arduinon forumilta, jolla olen ennenkin asioinut, mutta nyt siellä vaaditaan kaksisuuntaista mielialahäiriötä, jota varten pitäisi ladata jotain lisäohjelmia kännykkään. Pitäköön tunkkinsa.

15
Onkohan kenelläkään valmiina dokumentoitua ohjelmanpätkää, joka laskisi CRC-16 X-25 tarkistussumman?
(mieluiten C tai php, mutta muukin käy)

Olen nyt haaskannut muutamia tunteja katsellen netistä tälläistä, mutta kaikki ovat huonosti dokumentoituja. Ei mitään selitystä siitä, missä muodossa data pitäisi tajoilla ja missä muodossa se tulee ulos.
Dokumentoinnissa on myös unohdettu kertoa, onko CRC-16 CCIT:lle, Kermitille, X-25:lle ...

Netissä olleet selitykset itse laskenta-algoritmista ovat olleet kovasti risti-riitaisia. 

16
Laite (GT06 GPS tracker) lähettää binääristä dataa 30 sek välein n. 40 tavua kerrallaan.
Tämä data pitäisi saada kaapattua talteen ja muokattua seuraavan ohjelman käyttöön.
Saan datan tiedostoon loitsulla
Koodia: [Valitse]
[b]nc -kl 9998 |od -An -tu1 > /tmp/tracker.tmp[/b]
Nyt pitäisi vielä saada tuolle kaapatulle datalle tehtyä pari muokkausta ennenkuin seuraava ryöppy tulee.
- Ilmeisesti komentoriville ei pysty pipe:n perään lisäämään erillistä komentoa ? Ainakaan itse en onnistunut.
- Tein putken päähän bash scriptin, jossa on pari riviä. Tulkki ei kuitenkaan suostu suorittamaan, kuin ensimmäisen näistä riveistä
Koodia: [Valitse]
[b] #!/bin/bash
od -An -tu1 $1
echo "Hello"[/b]

Tuokin on outoa, että vaikka ohjaan datan tulostumaan tiedostoon '>', kirjoitus ei ala puhtaalta pöydältä, vaan ikäänkuin olisin käyttänyt '>>'.

Onko ajatuksia ?

17
Onko niin, että Linuxin omilla työkaluilla ei pysty käsittelemään I2C-piiriä, jossa on enemmän sisäisiä osoitteita, kuin 256 ?
Itse haluaisin käyttää EEPROM:a Raspberryssä.

Olen nyt pari viikkoa vääntänyt tämän kanssa ja viimein löytyi smbus:n dokumentti, jossa sanotaan, että osoite on 8-bittinen:
https://www.kernel.org/doc/Documentation/i2c/smbus-protocol
-" Comm  (8 bits): Command byte, a data byte which often selects a register on the device.
Data  (8 bits): A plain data byte. Sometimes, I write DataLow, DataHigh for 16 bit data.
Count (8 bits): A data byte containing the length of a block operation."

i2c-dev.h headerissa osoitteet on määritelty '__u8', mikä ilmeisesti tarkoittaa 8-bittistä osoitetta.

Kirjoittamalla osoitteen High-8 Comm-byteen ja Low-8 Datan ensimmäiseksi tavuksi sain jotain aikaan, mutta kokeilut ovat kesken ja toimivuus huono.

Olenkin ihmetellyt, miksi kaikki netissä olevat esimerkit ovat vain 256 tavulle, samaten kaikki kehutut apuohjelmat, joilla pitäisi hallita muistipiirejä, esim I2Ctools:n I2Ctransfer ja I2Cset

18
Väänsin C:llä kaksi ohjelmaa EEPROM:n komentamiseen. Kohteena FM24C64 FRAM muisti.
Toisella kirjoitetaan merkkijono EEPROM:lle ja toisella luetaan ja tyhjennetään.
Nämä ovat osa omaa GPS-tracker-rakennelmaa, eivätkä sinänsä täysin yleiskäyttöisiä, mutta ehkä niistä saa vinkkiä johonkin muuhun kehittelyyn, vaikkeivat kovin kaunista koodia olekaan.
Nämä toimivat ainakin omassa kokoonpanossani kuten pitääkin.

Paketissa on myös ohjelma GPS:n $GPRMC-lauseen lukemiseen, sekä 4-riviselle LCD:lle tulostamiseen.

KORJAUS:
Kuvittelin jo kaiken olevan hyvin, koska kaikki testit näyttivät vihreää.
I2C:n kirjoittamisessa löytyikin ongelma. ohjelma kirjoittaa kaiken ensimmäiselle 256 tavulle ja kiertyy aina alkuun.
Kirjoitusrutiini käyttää siis vain alempaa 8 bittiä osoitteessa.:
- Mikään ja yksikään netistä löytämäni ohjeet eivät kerro, miten EEPROM:lle kirjoitetaan, jos muistin koko on suurempi, kuin 256 tavua.

WiringPi ja OrangePi ovat parhaillaan tutkinnassa.
Tätä menoa kirjoitan kohta oman low-level-paketin, jolei muuta ratkaisua löydy.

Pidätelkää hengitystä ;(

19
Olen kirjoitellut ohjelmistopakettia, joka veneessä ja matkailuautossa kerää esim paikkatietoa, esittää sen paikallisesti kulkuneuvon serverin omilla nettisivuilla ja lähettää kotiserverille. Vekottimessa on näyttölaitteena 4x20 I2C LCD.

Data lähetetään LCD:lle omatekoisella C-kielisellä ohjelmalla (  ./LCDtulosta clr "$D $T UTC"@1,1 "LAT: $lat"@2,1 "LON: $lon"@3,1 )
GPS:ää luetaan omatekoisella C-kielisellä ohjelmalla, joka printtaa $GPRMC -lauseen.

Sitten alkoivat ongelmat.
Systeemi kaatui ja kone meni jumiin epäsäännöllisesti 5min - 12h ajon jälkeen. BASH:n rajallisilla työkaluilla syyn löytäminen oli todella hankalaa.
Epäilin jo muistikortteja, prosessoria ja virtalähdettäkin.

Tämä auttoi hieman, tällä pääsi näkemään, missä kone kaatui:
trap 'echo "Vika rivillä $LINENO" >> /home/bin/i2cLCD/testi.txt' ERR
samaten pitkin scriptiä sirotellut echo "Ax">>/home/bin/i2cLCD/testi.txt -lauseet

'timeout' GPS:ää kutsuvalla rivillä auttoi selviämään GPS:n jumeista

Lopullinen ratkaisu suorastaan hävettää.
- Pistetään GPS työntämään tulostuksensa tiedostoon (tiedosto tietenkin tmpfs:llä !)
- Ajetaan C-ohjelmia taustalla ('&'), jotta niistä saadaan puristettua PID
- Pistetään scripti odottamaan GPS-ohjelman kypsymistä
- Haetaan tiedostosta rivi ja jatketaan

Kaikkine roskineenkin scriptin pyörähdykseen menee n. 2 sek, joten LCD:lle tulostuskin voidaan pistää taustalle '&'. I2C LCD:n ruudun täyttämiseen menee n. 1 sek.

Scripti ja C-ohjelmat itsessään ovat niin pitkät, etten viitsi niitä pistää tähän, mutta tässä on tarjolla mekanismi, jolla GPS:n lukeminen tuntuu onnistuvan
Koodia: [Valitse]
      timeout 3 /home/bin/i2cLCD/gps >$TMPFILE &
      pid=$!
      wait $pid
      read uline < $TMPFILE

Seuraava murhe on siinä, mitä tapahtuu, kun PID:n arvo kasvaa yli naapurin aidan. Osaako systeemi aloittaa PID-laskurin nollasta, vai tuleeko overflow ?

20

En löydä mistään tietoa C:n kielletyista komentoriviargumenteista.
'$' argumentin ensimmäisenä merkkinä ei toimi.
Jos '$' on keskellä sanaa, se ja loppusana katoavat

Onko joku temppu, jolla C:n saisi hyväksymään dollarimerkin komentorivillä ?
'$GPRMC ' on selkeämpi parametri, kuin 'GPRMC'


Sivuja: [1] 2 3 ... 9