czwartek, 23 stycznia 2014

sFlow/HAProxy

Upstream HAProxy version with sFlow patch and my fixes: HAProxy with sFlow

czwartek, 13 czerwca 2013

Fitbit One

Od pewnego czasu posiadam Fitbit One. Co udało mi się zaobserwować, to że fitbit synchronizuje się z serwerem jeżeli w pobliży znajduje się jakikolwiek komputer z dongle fitbita. Pozwala to sądzić, że nie ma żadnego trwałego powiązania fitbit<->dongle. Dodatkowo oczywiście nie ma klienta pod linuxa, więc jeżeli chce sobie zsynchronizować fitbit-a z moim kontem musze uruchomić VirtualBox-a, gdzie klikne sync. Oczywiście nie byłbym sobą, gdybym nie podsłuchał takiego ruchu. W efekcie do serwera leci mniej więcej coś takiego:

<galileo-client version="2.0">
  <client-info>
    <client-id>a5c528a1-76b7-4be8-86e3-b7c5f1XXXXXX</client-id>
    <client-version>1.0.0.2578</client-version>
    <client-mode>force-sync</client-mode>
    <dongle-version major="1" minor="1" />
  </client-info>
  <tracker tracker-id="81498B75XXXX">
    <data>JgIAAAAAAAAAAO01oysrBQYuBXXXXXXXXXXXXXXXFBQDEBRkAAAAACwBWAJoPXXXXXXAAAAAAAAA/0sATENGICAgICAgIEkgTElLRSBVICBMT1ZFIFlBICAgV0hBV...</data>
  </tracker>
</galileo-client>
Nie wiem jeszcze czy chce się bawić w dekodowanie tego base64, obawiam się, że nie będę w stanie się oprzeć i zacznę cheatować :-D Może jak czas pozwoli kiedyś wrócę do tematu.

PKP EuroCity

Ostatnio dość często korzystam z PKP EuroCity. Z ciekawostek na trasie Gdynia-Berlin mają w wagonach WiFi, które niestety nie działa, a przynajmniej nie dla pasażerów :( Jako że podróż długa i człowiek się nudzi to mniej więcej tyle wiem o tym WiFi:
wlan0     IEEE 802.11abgn  ESSID:"Hot-Spot-IC-XBN1"  
          Mode:Managed  Frequency:2.462 GHz  Access Point: 00:0C:42:DF:76:3D   
          Bit Rate=54 Mb/s   Tx-Power=15 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:off
          Link Quality=70/70  Signal level=-33 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:95   Missed beacon:0
➜  ~  nmap -sS -p0-65535 -P0 -T3 172.1.1.1

Starting Nmap 6.25 ( http://nmap.org ) at 2013-05-06 07:15 CEST
Nmap scan report for 172.1.1.1
Host is up (0.0014s latency).
Not shown: 65530 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
23/tcp   open  telnet
80/tcp   open  http
2000/tcp open  cisco-sccp
8291/tcp open  unknown
MAC Address: 00:0C:42:DF:76:3D (Routerboard.com)

Nmap done: 1 IP address (1 host up) scanned in 338.22 seconds
---- Łączenie się z 172.1.1.1 (172.1.1.1) port 21
<--- 220 GSM-WIFI bridge v.1.1 FTP server (MikroTik 5.6) ready
Może kiedyś wrócę do tematu, jak wyjdzie jakiś 0day na którąś z usług :-D

środa, 19 grudnia 2012

Fakty v2.0

Ludzie od tvnplayera postanowili zrobić update API do wersji jak przypuszczam 2.0.
-base_url = "http://tvnplayer.pl/api/?platform=ConnectedTV&terminal=Samsung&format=json"
+base_url = "http://tvnplayer.pl/api/?platform=ConnectedTV&terminal=Samsung&format=json&authKey=ba786b315508f0920eca1c34d65534cd"
-fakty_id_url = "#{base_url}&type=episodes&id=#{odc['id']}&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920"
+fakty_id_url = "#{base_url}&type=episodes&id=#{odc['id']}&v=2.0&sort=newest&m=getItem&deviceScreenHeight=1080&deviceScreenWidth=1920"
W efekcie doszedł parametr "authKey" oraz "v=2.0".
"v=2.0" pewnie ma jakieś głębsze znaczenia, projektując API nikt nie pomyślał, że będzie potrzebna kolejna wersja, przecież to takie mało oczywiste, ale można uznać, że jest ok. Natomiast po co dodawać parametr "authKey", który jest statyczny (tak, nie jest liczony z niczego, ot po prostu jest dopisany na sztywno do url-a) i lata sobie w sieci bez żadnego zabezpieczenia. Pragnę poznać rozwinięcie tej, jakże głębokiej, myśli autora tego wynalazku.

Działający skrypt do oglądania faktów: https://github.com/ljagiello/scripts/blob/master/tvn_fakty.rb

wtorek, 18 grudnia 2012

RAID6 safe ?

Po co raid ? A podobno, żeby było bezpiecznie. Raid6 z założenia 2 dyski nadmiarowe, o ile nie mamy wyjątkowego pecha powinno być dobrze. Tak mi się wydawało do niedawna... Był sobie raid6 z 9 dysków, w którym nagle jeden z nich (Seagate) postanowił, że się spali. Doprowadzając do unieruchomienia każdego procesu, który chciał cokolwiek od tego zasobu. Heh, nie został oznaczony jako fail, ot postanowił, że dalej działać nie będzie. Koniec końców reboot.

Po powrocie systemu, dysk nie odpowiada, zgłasza błędy.
ata24.00: status: { DRDY ERR }
ata24.00: error: { ABRT }
ata24: hard resetting link
ata24: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata24.00: configured for UDMA/133 (device error ignored)
sd 23:0:0:0: [sds] Result: hostbyte=0x00 driverbyte=0x08
sd 23:0:0:0: [sds] Sense Key : 0xb [current] [descriptor]
Descriptor sense data with sense descriptors (in hex): 72 0b 00 00 00 00 00 0c 00 0a 80 00 00 00 00 00  00 00 00 08
sd 23:0:0:0: [sds] ASC=0x0 ASCQ=0x0
sd 23:0:0:0: [sds] CDB: cdb[0]=0x28: 28 00 00 00 00 08 00 00 02 00
end_request: I/O error, dev sds, sector 8
ata24: EH complete
Smartctl mówi o dysku 4GB, którego serial nie wygląda na serial
Device Model:     ST_M13FQBL
Serial Number:    QNR_BFW
Firmware Version: 05201250
User Capacity:    4,142,054,400 bytes
Z ciekawości sprawdzam w google co to za śmieszny serial i dostaje taki link:
http://forums.seagate.com/t5/Barracuda-XT-Barracuda-Barracuda/Drive-showing-as-ST-M13FQBL-after-replacing-logic-board/td-p/131842
Faktycznie dokładnie to się stało, potwierdzone przez remote-hands.

Trudno dysk padł, maszyna powinna działać - no nie wyszło, ale przynajmniej dane są:
root@XXXXXX:~# mdadm -A /dev/md1
mdadm: /dev/md1 assembled from 8 drives - not enough to start the array while not clean - consider --force.
Ok, po dobroci nie chce, pozostaje --force:
root@XXXXXX:~# mdadm -A --force /dev/md1
mdadm: failed to RUN_ARRAY /dev/md1: Input/output error
No nie dobrze, 10TB danych nie do końca chce ponownie wrócić do życia. Okazuje się, że trzeba wyczyścić superblock i zbudować raid-a ponownie (ważne: w tej samej kolejności dysków i z tym samym chunk sizem :)
mdadm --zero-superblock /dev/sd[fhijkprb]1
mdadm --create -c 1024 -v /dev/md1 -l 6 --raid-devices=9 /dev/sd[fhijkprb]1 missing
Efekt:
/dev/mapper/md1       9.5T  4.2T  5.4T  44% /nfs/md1
Reasumując, softraid jest spoko do czasu jak działa, jak przestaje działać to jest duża szansa na to, że będą problemy, a przynajmniej, że nie skończy się na informacji o potrzebie wymiany dysku, gdzieś w systemie monitorowania.