Van-e PHP és milyen verzió?
Kívülről hogy lehet megállapítani egy web szerverről, hogy van-e rajta PHP és ha van, akkor milyen verzió?
Kívülről alatt azt értem, hogy böngészőből/curl/wget/egyéb segédeszköz segítségével.
Van erre valami bevett módszer?
Az a baj, hogy nem tudom eltalálni a megfelelő keresőkifejezést, így a nyomorult google csupa olyan találattal szórakoztat, hogy hozzak létre egy .php file-t...
■ Kívülről alatt azt értem, hogy böngészőből/curl/wget/egyéb segédeszköz segítségével.
Van erre valami bevett módszer?
Az a baj, hogy nem tudom eltalálni a megfelelő keresőkifejezést, így a nyomorult google csupa olyan találattal szórakoztat, hogy hozzak létre egy .php file-t...
Fejlécek
Köszi. Végül is reverse
Végül is reverse engineering is bevethető :)
Felrakok egy PHP-t és megnézem, mennyiben változik a fejléc a PHP nélkülihez képest.
Kiemelném a feltételes módot,
Na jó... akkor mesélek...
Látom már évek óta a routerek logjában, hogy folyamatosan próbálkoznak mindenféle botok 80-as, 443-as, 23-as, 22-es portokon.
Gondoltam, megnézem, hogy ha beengedem egy konténerbe ezen forgalom egy részét és mondjuk egy python szkriptből eljátszom, hogy ez egy PHP szerver, akkor mit reagálnak a próbálkozók. :)
Ha csak pár header beállítás kell hozzá, hogy elhitessem velük, ez egy PHP-s szerver miközben nincs rajta semmi... szórakoztató lehet a logja... :)
Szerintem még valami
Na annyira azért nem megy a
A docker log egyébként hová megy? Mert nekem úgy tűnt, csak memóriába, ha nem rendelkezek másképp...
Melyik log?
(windowson default C:\Users\Public\Documents\Hyper-V\Virtual Hard Disks\MobyLinuxVM.vhdx)
Ha ki linkeled, akkor a gazdagépről is tudsz benne túrkálni.
Pl. egy apache-php konténer esetén:
/var/log/
tartalmát láthatod és módosíthatod a gazda gépről. (Plusz ha build-kor van a "kinti"./log
könyvtárban valami, akkor azzal együtt jön létre és indul el a konténer, de a kérdésed szempontjából ez lényegtelen, inkább configokat szokás betolni vele.)Hülyeség volt a kérdés.
Ja bocs,
--rm - mel is ugyanazon a virtual disken van, így viszont csak futás közben tudsz belépni a konténerbe és belül nézelődni.
Mondjuk ha lesz konkrét ötlet, hogy milyen konténerrel akarod, akkor javaslom a compose használatát.
Azt hiszem 1/2-reértesz: azt
Egyébként az "official" nginx konténer a stdout-ra küldi az nginx logot - legalábbis abból ítélve, hogy ha "docker run --it --name xx nginx" paranccsal indítom, akkor ott látom a konzolon, élőben.
Jaja, már értem :)
az --it miatt van, ezzel "mondod meg", hogy interaktív legyen és konzol a stdout. Mondjuk picit csodálkozom, hogy stdout-ra logol, nem direkt fájlba..
Ha olyasmit csinálsz, mint a fentebbi docker-compose.yml részlet, akkor a build: helyett
image: nginx
, a parancs pedigdocker-compose up -d
.Így viszont nem fog törölni semmit, neked kell (docker-compose down). Ja és a volume-okat a Te konténerednek megfelelően kell belőni.
Én biztos így "lesnék" logokat, konténerbe lépve tényleg csak olvasni lehet, már a másolás is bajos. :)
# cd /var/log/nginx# ls
# ls -l
total 0
lrwxrwxrwx 1 root root 11 Dec 29 03:31 access.log -> /dev/stdout
lrwxrwxrwx 1 root root 11 Dec 29 03:31 error.log -> /dev/stderr
Egy rejtély megfejtve. :)
Ez akkor is ilyen, ha "docker run -d nginx" indítja.
Hehe,
Bár az is lehet egy út, hogy megnézzük a hivatalos oldalt, itt én a legelső Dockerfile-ba néztem bele, a vége felé meg is találtam a két symlinket:
Itt viszont elgondolkodtam, hogy melyik a kevésbé csúnya megoldás:
- Leszármazni ebből az image-ből és törölni a már létrehozott linkeket, vagy
- Lemásolni a Dockerfile-t és törölni azt a két sort.
Na ettől szép az élet. :-D
Úgy is rápróbálnak ezekre az