Linux split file – jak podzielić plik na party

W dzisiejszym wpisie pokażemy jak podzielić dowolny plik tekstowy na mniejsze części. Niektórzy z Was pytali nas w komentarzach w jaki sposób można rozłożyć słownik z potencjalnymi hasłami do ataku brute-force na mniejsze fragmenty. Motywowali to błędami w programie THC-Hydra wynikającymi z olbrzymiego rozmiaru pliku słownika tekstowego. W tym krótkim wpisie pokażemy jak podzielić plik na party za pomocą dwóch różnych sposobów. Pierwsze z nich to Linuksowy program split służący właśnie do tego celu. Druga metoda to nasze autorskie proste rozwiązanie problemu podziału pliku na kawałki napisane w języku skryptowym PHP. Postanowiliśmy ten skrypt udostępnić bo jest to można powiedzieć rozwiązanie multiplatformowe a nie każdy ma system Linux. Wystarczy w tej metodzie zainstalować sobie serwer np. XAMPP i odpalić nasz skrypt PHP w przeglądarce internetowej.

Split command czyli podział pliku na party

Program split jest już zainstalowany w systemie Kali Linux. Tym razem zamiast objaśniać dokładnie jak polecenia działa postanowiliśmy dać kilka przykładów. Zakładam że nasz plik nazywa się file.txt.

Podział pliku na mniejsze po 100 linijek:

Dodatnie przedrostka nazwy pliku „prefix”:

Użycie przyrostka numerycznego zamiast domyślnego literowego:

Podział na pliki po 1024 bajtów każdy (megabajt):

Użycie przyrostka numerycznego o długości 5 znaków:

Więcej informacji o programie uzyskasz wpisując w swoim terminalu polecenie man split.



Podział pliku w PHP

Poniżej przedstawiamy nasz file splitter. Jest to uproszczona implementacje linuksowego programu split. Jako parametry funkcji splitFile należy przekazać nazwe słownika i opcjonalne ilość linii w każdej części pliku. Do jego uruchomienia wystarczy dowolny serwer HTTP z interpretatorem PHP np: darmowy XAMPP. Plik split.php:

Nasz powyższy program dzieli plik o nazwie file.txt znajdujący się w folderze ze skryptem na mniejsze części po 250 linijek każda. Jeśli chciałbyś inaczej nazywać folder wynikowy z nowymi słownikami wystarczy że zmodyfikujesz wartość zmiennej $outputFolder w 11 linii kodu źródłowego.

Efekt implementacji programu split linux file w języku interpretowanym PHP
Efekt działania naszego skryptu split.php w systemie Microsoft Windows. Plik file.txt został podzielony na 4 części. Każdy nowy plik posiada 120 linijek.

Myślę że dzisiaj już temat o linux splitterze i naszym odpowiedniku multi platformowym został wyczerpany. Jeśli ktoś jest chętny to sobie może sobie uzupełnić dodatkową funkcjonalność skryptu o wybór pliku z dysku za pomocą formularza HTML lub mechanizmu drag and drop. Warto wiedzieć że skrypty php można również wywoływać z poziomu konsoli cmd lub terminala Linux. Nie każdy wie, że i takie aplikacje można pisać w PHP. Być może zainteresują Cię jeszcze inne nasze wpisy na blogu:

Zlajkuj oczywiście naszego fanpage HakerEduPL na Facebooku! Powodzenia! ;-)




7 myśli na temat “Linux split file – jak podzielić plik na party

  1. Jesli kogoś interesuje, to mogę zademonstrować również wersje pythonową, która kiedyś napisałem :)

    1. Kilka osób pytało ostatnio o bodajże 5GB słowniki i wywalało im ERRORY. W sumie sam nigdy nie testowałem, aż takich kobył na Hydrze chociaż posiadam słownik nawet i 30 gigabajtowy… :D Dzięki za komentarz Hurley! Coś ostatnio cicho na YT…

    2. Chwilowo cicho bo telefon mnie ogranicza i trochę problemów powoduje, ogólnie to pochwal się skąd pobrałeś ten słownik jeżeli jest taka możliwość, zawsze sie przyda jak by się zapomniało hasła do poczty ;-)

    3. Aa to mam jednak ten sam notatnik, musze go kiedyś potestować na moich fejkowych kontach instagrama, facebooka itp.. jaką skuteczność ma, ale to musze wiecej sie nauczyć o HTML i POST :D

    4. To raczej podstawy w każdym kursie formularzy HTML i PHP. Polecam również poczytać o protokole HTTP chociażby na wikipedii (po przestudiowaniu tych podstawowych kursów z naciskiem na php).

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *