Jak wielu internautów już zauważyło, istnieją dziesiątki frontów walk pomiędzy użytkownikami. Zaczynając od ogólnych, jak wszyscy vs Windows Vista, Linux vs OS X, Linux vs Windows, OS X vs Windows, Linux vs *BSD… i całkiem niedawno powstały Android vs iOS. Można iść dalej przez walki pomiędzy Ubuntu vs Fedora, Debian vs Slack, Arch vs Gentoo, Mint vs Ubuntu… i tak dalej… Postanowiłem dorzucić swoje trzy grosze wspierając openSUSE.

1. Kameleon
2. Yast2
3. Łatwość instalacji
4. Gdyby wystąpił problem…
5. Częste aktualizacje repozytoriów
6. Najpotrzebniejsze programy
7. Instalator

Continue reading

Po instalacji Skype na oS występuje błąd z widokiem z kamery internetowej (jak i w innych dystrybucjach), obraz jest do góry nogami, żeby to naprawić musimy zainstalować dodatkową bibliotekę, którą zastąpimy tą dostarczoną ze Skype:

1. Instalacja biblioteki i zależności:

sudo zypper in libv4l1-0-32bit libv4l-32bit libv4l

2. Następnie przechodzimy na roota:

su root

3. Wyłącz Skype!
Continue reading

 

Co się dzieje?

Linux pożycza sobie nieużywaną pamięć jako cache dysku. To stwarza złudzenie, że system zużywa dużo pamięci. To tylko złudzenie! Wszystko jest w porządku!

Dlaczego się tak dzieje?

Cache’owanie dysku sprawia, że system działa dużo szybciej! Nie ma wad, poza tym, że jest to mylące dla początkujących. W żadnym wypadku nie zabiera pamięci aplikacjom!

Co jeśli chcę włączyć więcej aplikacji?

Jeśli Twoje aplikacje potrzebują więcej pamięci, po prostu odbierają jej część, którą wcześniej zajął cache dysku. Ten cache może być w każdej chwili oddany aplikacjom. Wcale nie kończy Ci się RAM!

Czy potrzebuję więcej swapa?

Nie, cache dysku tylko pożycza pamięć, której aplikacje w danym momencie nie potrzebują, ten proces nigdy nie będzie używał pamięci swap (to byłoby po prostu głupie…).

Jak powstrzymać system od robienia tego?

Nie możesz tego zatrzymać. Jedynym powodem, dla którego ktokolwiek chciałby zatrzymać ten proces jest to, że myślą, że cache dysku zabiera pamięć z ich aplikacji, a tego nie robi! Cache dysku przyśpiesza start aplikacji i powoduje, że działają płynniej, ale NIGDY, PRZENIGDY nie zabiera im pamięci. Nie ma więc żadnego powodu by wyłączać ten proces!

Dlaczego `top` i `free` mówią, że moja pamięć jest zajęta kiedy nie jest?

Jest to po prostu nieporozumienie w definicji pojęć. Ty i system, zgadzacie się, że pamięć zajęta to ta, której używa aplikacja, podczas gdy pamięć wolna, to ta, która nie jest używana do niczego.

Jednak jak nazwiesz pamięć, która jest jednocześnie zajęta i dostępna dla aplikacji?

Nazwałbyś ją raczej wolną, ale Linux nazywa ją zajętą.

Pamięć, która jest: Ty nazwiesz ją Linux nazwie ją
Zajęta przez aplikacje Używana Używana
Dostępna dla aplikacji, ale używana przez coś innego Wolna Używana
Nieużywana Wolna Wolna

To „coś” jest tym, co `top` i `free` nazywają „buffers” i „cached”. Skoro Twoja terminologia różni się od terminologii Linuxa, Ty myślisz, że masz mało pamięci.

Jak sprawdzić ile pamięci mam w rzeczywistości?

By zobaczyć ile RAMu jest zajęte przez Twoje aplikacje, uruchom `free -m’ i spójrz na rząd, który jest opisany „-/+ buffers/cache” w kolumnie „free”. To jest odpowiedź na pytanie, podana w megabajtach .

agilob@Asus-PC ~ $ free -m
            total  used free shared buffers cached
Mem:         3890  3704  186      0     144   2123
-/+ buffers/cache: 1436 2454
Swap:        3812  5    3807

Jeśli nie wiesz jak czytać te liczby, wciąż będziesz myślał, że masz zajęte 95% pamięci, gdy w rzeczywistości masz zajęte 63%

 Artykuł opublikowany i przetłumaczony za zgodą autora. źródło.

*N*X
Dla systemów Unix najlepszym rozwiązaniem jest użycie gpsd i Kismeta, spróbuj zainstalować wersję nowszą niż ta z 2010 roku, która bywa dostępna w domyślnych repozytoriach Ubuntu/Debiana.

Polecam instalować ze źródeł, które pobierzesz tak:

 git clone https://www.kismetwireless.net/kismet.git

Przede wszystkim, dlatego, że wspiera zapis danych do pliku o rozszerzeniu .netxml, gdzie jest znacznie więcej danych niż w .gpsx.
Continue reading

Wpis ten jest suplementem do wpisu o wardrivingu.

su root
 
nano /etc/kismet/kismet.conf

musisz poszukać i przerobić na coś podobnego do tego poniżej, edytować należy 33. linijkę.

27. # See the README for full information on the new source format
28. # ncsource=interface:options
29. # for example:
30 .# ncsource=wlan0
31 .# ncsource=wifi0:type=madwifi
32. # ncsource=wlan0:name=intel,hop=false,channel=11
33. ncsource=INTERFACE (np. wlan1) :type=STEROWNIK (np. rt8187),hop=true

Continue reading

Sprawdzając dzisiaj stare płyty, miałem problem z wysunięciem płyty, nie dało się jej też odczytać, polecenie

eject sr0 -rm

nie działo.

Po uzyskaniu z dmesga błędu:

[ 1067.416522] Buffer I/O error on device sr0, logical block 0
[ 1075.923084] sr 1:0:0:0: [sr0] Unhandled sense code
[ 1075.923088] sr 1:0:0:0: [sr0]  Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
[ 1075.923097] sr 1:0:0:0: [sr0]  Sense Key : Hardware Error [current]
[ 1075.923105] sr 1:0:0:0: [sr0]  Add. Sense: Timeout on logical unit
[ 1075.923115] sr 1:0:0:0: [sr0] CDB: Read(10): 28 00 00 00 00 00 00 00 02 00
[ 1075.923130] end_request: I/O error, dev sr0, sector 0
[ 1075.923137] Buffer I/O error on device sr0, logical block

Płyta nie była nigdzie zamontowana, jedynie istniał proces dla napędu, który nie był zamontowany:

umount: /dev/sr0: not mounted

 

Solution:

root@Agilob-PC:# lsof /dev/sr0
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
blkid   4079 root    3r   BLK   11,0      0t0 7203 /dev/sr0

root@Agilob-PC:# kill -s 9 4079
root@Agilob-PC:# eject

I napęd się wysunął.

Pomyślałem dzisiaj, że przydał by się plugin do monitorowania kilku temperatur w PC.
Już od dawna parę rzeczy monitoruje mi Munin, jednak są to same gotowce do monitorowania sieci:


Koniec… do roboty!

Przechodzim na roota, hop:


cd /etc/munin/plugins nano temp_stats
#!/bin/sh
case $1 in
   config)
        cat < <'EOM'
graph_peroid 20
graph_category sensors
graph_title Temperatures
graph_vlabel Celsius
cpu_temp.label i7
hdd_temp.label HDD
gpu_temp.label AMD_ATI
 
EOM
        exit 0;;
esac
 
echo -n "cpu_temp.value "; acpi -t | grep "[[:digit:]]{2}.[[:digit:]]" -o
echo -n "hdd_temp.value "; TEMP=`hddtemp -n /dev/sda`; echo $TEMP".0"
echo -n "gpu_temp.value "; DISPLAY=:0.0 sudo aticonfig --adapter=1 --od-gettemperature | grep "[[:digit:]]{2}.[[:digit:]]" -o

Żeby Munin mógł wykonywać aticonfig (żeby zbierać statystyki o karcie graficznej), trzeba zedytować plik /etc/sudoers i dopisać trzeba taką linijkę:

nobody ALL=NOPASSWD: /usr/bin/aticonfig

Żeby sprawdzić czy wszystko jest dobrze:

 munin-run temp_stats

U mnie wynik jest taki:

root@Agilob-PC:/etc/munin/plugins# munin-run stat_temp
cpu_temp.value 87.0
hdd_temp.value 33.0
gpu_temp.value 85.5

Następnie wpisać:

/etc/init.d/munin-node

Teraz przez kilka minut zbierane są dane i będzie powstawał wykres:

Tadam!

Sniffing/MITM w sieciach bezprzewodowych Atak Man In The Middle, podczas którego będziemy sniffowali sobie sieć i patrzyli kto jest zalogowany na nk i jaki ma numer sesji logowania.

Do dzieła.

Czego potrzebujesz?

  • Linuxa
  • Netstat (included in linux)
  • IPTables (included in linux)
  • Arpspoof (składnik dsniffa, apt-get install dsniff -y)
  • SSLStrip wersja 0.9.0
  • Być podłączonym do sieci, którą atakujesz.

Continue reading

Wykonywanie transakcji:

Domyślnie  każde wykonanie INSERT/UPDATE w SQLite3 jest oddzielną operacją, zaznaczenie w bazie danych:

BEGIN TRANSACTION;

Spowoduje, że wszystkie operacje po zaznaczeniu tej opcji będą traktowane jako jedna operacja. Warto tę opcję zaznaczyć gdy mamy do wykonania dużo operacji INSERT/UPDATE. Po zakończeniu działań na bazie danych zamykamy transakcję:

END TRANSACTION;

 

Wyłączenie synchronizacji:

Domyślnie SQLite za-pauzuje wykonywanie operacji po wydaniu komendy do systemu operacyjnego o zapisanie danych. To gwarantuje, że dane są zapisane na dysk. Wyłączenie synchronizacji przez użycie:

synchronous = OFF;

Nakazujemy SQLiteowi trzymanie danych w pamięci przed zapisaniem danych i kontynuowanie pracy. Możliwe jest, że baza danych zostanie uszkodzona, jeśli system operacyjny zaliczy błąd lub gdy nieoczekiwanie przerwiesz wykonywanie skryptu (przez Ctrl +Z), zwykłe zatrzymanie skryptu (Ctrl + C) nakazuje serwerowi SQLite zapisać dane do bazy przed zakończeniem programu.

 

 

Notowanie w pamięci:

Rozważmy przechowywanie danych w pamięci RAM przez użycie opcj:

PRAGMA journal_mode = MEMORY;

Twoje transakcje będą dużo szybsze, jednak jeśli stracisz zasilanie, lub skrypt dodający dane wykrzaczy się, baza danych zostanie uszkodzona (testowane).

 

 

Połączenie synchronizacji i trzymania danych w pamięci:

Połączenie obu opcji daje bardzo duże przyspieszenie, jednak znacząco zwiększa ryzyko uszkodzenia pliku z bazą danych:
PRAGMA journal_mode = MEMORY;
PRAGMA synchronous = OFF;

 

 

Zwiększenie cache:

PRAGMA cache_size = -1048576 jeśli przed liczbą całkowitą stoi minus, liczba ta oznacza wtedy ilość bajtów, ile ma zajmować cache w tym uruchomieniu bazy danych, w tym wypadku oznacza to, że cache ma mieć wielkość 1MB, jeśli przed liczbą nie ma znaku to oznacza to ilość stron, domyślnie ilość to 2000.

 

 

Zwiększenie rozmiaru strony:

Zmniejszyć lub zwiększyć można ją przez użycie:

PRAGMA page_size = 2n.

Po znaku równości musi być wynik podniesienia liczby 2 to potęgi całkowitej. Domyślnie ustawione na 8192, może przyjąć wartości od 512 do 65536.

 

 

:inmemory: znane z SQLite API dla C++/C/Perl użyte w SQLite3:

Ustawienie parametru temp_store na 2 nakaże bazie danych przechowywanie wszelkich informacji w pamięci podręcznej komputera, zamiast zapisywać je co krok na dysku, znacznie przyspiesza insercję danych do bazy:

PRAGMA temp_store = 2;

“Matką” tej opcji jest SQLITE_TEMP_STORE=3 użyte do kompilowania serwera SQLite. Parametr kompilacji ustawiony na 3 oznacza, że wszystkie operacje mają być wykonywane w pamięci RAM, całkowicie pomijając używanie plików tymczasowych.

 

Yyymmm… wielotabelowość(?):

Używanie wielu tabel zwiększa czas dostępu do danych i zapisu do bazy. Jeśli Twoja baza danych jest poszerzana systematycznie co jakiś czas, warto dodać pętlę, która np. co miesiąc utworzy nową tabelę, w której będą zapisywane dane przez ten miesiąc. Baza stanie się w ten sposób również bardziej skalowalna.

… od dawna ;)

Do OclHashCat-plus jakiś czas temu została wprowadzona możliwość odzyskiwania haseł z pakietów z handshake WPA/WPA2. Żeby tego używać trzeba dodać patcha do aircrack-ng, który wyciągnie z pakietów sam hash z autoryzacji.

Przed wykonaniem poniższych poleceń zalecane jest usunięci aircrack-ng poprzez:

apt-get autoremove --purge aircrack-ng

 

A pobierzemy, zpatchujemy program tymi poleceniami:

apt-get install subversion -y
svn co -r 1959 http://trac.aircrack-ng.org/svn/trunk aircrack-ng
cd aircrack-ng
wget http://trac.aircrack-ng.org/raw-attachment/ticket/937/oclHashcat-plus-wpa-support.patch
cat oclHashcat-plus-wpa-support.patch | patch -Np0
make sqlite=true unstable=true install

Następnie okno pomocy aircrack-ng będzie wyglądało tak:

aircrack-ng
 
Aircrack-ng 1.1 r1959 - (C) 2006-2010 Thomas dOtreppe
Original work: Christophe Devine
 
http://www.aircrack-ng.org
 
usage: aircrack-ng [options] <.cap / .ivs file(s)>
 
Common options:
 
-a <amode> : force attack mode (1/WEP, 2/WPA-PSK)
-e <essid> : target selection: network identifier
-b <bssid> : target selection: access point's MAC
-p <nbcpu> : # of CPU to use  (default: all CPUs)
-q         : enable quiet mode (no status output)
-C <macs>  : merge the given APs to a virtual one
-l <file>  : write key to file
 
Static WEP cracking options:
 
-c         : search alpha-numeric characters only
-t         : search binary coded decimal chr only
-h         : search the numeric key for Fritz!BOX
-d <mask>  : use masking of the key (A1:XX:CF:YY)
-m <maddr> : MAC address to filter usable packets
-n <nbits> : WEP key length :  64/128/152/256/512
-i <index> : WEP key index (1 to 4), default: any
-f <fudge> : bruteforce fudge factor,  default: 2
-k <korek> : disable one attack method  (1 to 17)
-x or -x0  : disable bruteforce for last keybytes
-x1        : last keybyte bruteforcing  (default)
-x2        : enable last  2 keybytes bruteforcing
-X         : disable  bruteforce   multithreading
-y         : experimental  single bruteforce mode
-K         : use only old KoreK attacks (pre-PTW)
-s         : show the key in ASCII while cracking
-M <num>   : specify maximum number of IVs to use
-D         : WEP decloak, skips broken keystreams
-P <num>   : PTW debug:  1: disable Klein, 2: PTW
-1         : run only 1 try to crack key with PTW
 
WEP and WPA-PSK cracking options:
 
-w <words> : path to wordlist(s) filename(s)
 
WPA-PSK options: -E <file>  : create EWSA Project file v3
-J <file>  : create Hashcat Capture file
-S         : WPA cracking speed test 
 
Other options:
 
-u         : Displays # of CPUs & MMX/SSE support
--help     : Displays this usage screen
 
No file to crack specified.

Następnie aby oclhashcat mógł operować na handshaku, trzeba wypakować go z reszty pakietów:

aircrack-ng -J odzyskany.hcap plik_z_handshake.cap
Następnie użycie OclHashCata wygląda tak:
./oclHashcat-plus64.bin ../odzyskany.hccap -m 2500

Źródło.