Linux · 5 stycznia, 2023 1

Skrypt w bash do automatyzacji zadań sieciowych

Witajcie,

Dziś nauczymy się czegoś ciekawego, jak za pomocą języka Bash można stworzyć prosty skrypt do automatyzacji zadań sieciowych. Język Bash jest popularnym językiem skryptowym używanym głównie w systemach operacyjnych z rodziny Linux. Dzięki skryptom w tym języku możemy automatyzować czynności, które wykonujemy często lub które wymagają wielu kroków, co pozwala nam zaoszczędzić czas i uniknąć błędów.

Skrypt, który będziemy tworzyć na początku będzie łatwy , będzie posiadał menu z wyborem różnych opcji, takich jak sprawdzenie adresu IP, zmiana adresu MAC na losowy oraz skanowanie sieci lokalnej za pomocą narzędzia nmap. Po wybraniu opcji i wykonaniu danej czynności skrypt powróci do menu wyboru, a po wybraniu opcji “0” zakończy swoje działanie.

W kolejnych częściach postaramy sie rozwinąć ten skrypt i dodać mu więcej funkcjonalności.

Zobaczmy, jak potęzny może być język skryptowy na linuxsie!

  1. Pierwsza linia:

Ta linia nazywana jest “shebang” i informuje system operacyjny, jaki interpreter ma użyć do wykonania skryptu


2. Pętla while true; do … done:

Nieskończona pętla, która będzie się powtarzać do momentu jej przerwania przez instrukcję


3. Instrukcja echo:

Wyświetla tekst na ekranie.


4. Instrukcja read:

Pobiera dane wprowadzone przez użytkownika i zapisuje je do zmiennej. choice


5. Instrukcja case:

Służy do wyboru jednej z wielu możliwych opcji w zależności od wartości zmiennej $choice. Każda opcja jest obsługiwana przez blok poleceń.


Zbudowaliśmy szkielet naszego skryptu ! Gratulacje.  

Tak aktualnie wygląda na skrypt

W następnej części zaczniemy wypełniać bloki poleceń.

No to lecimy…


Blok 1)

do sprawdzenia swojgo IP użyjemy po prostu ip.


Blok 2)

Ustawiamy zmienną interfaces za pomocą ip link , następnie wykorzystujemy pętle for aby dla kazdego interfejsu sieciowego zmienić adres mac. Narzędzie awk poznamy bliżej w kolejnej wersji skryptu.


Blok 3)

Pobieramy wprowadzone dane za pomocą instrukcji read , zapisujemy je do zmiennej target a następnie uruchamiamy narzedzie nmap do skanowania.


Blok 0)

Instrukcja break służy do przerwania działania pętli.W tym przypadku używamy jej do wyjścia ze skryptu.


Blok *)

* służy do obsługi wszystkich pozostałych wartości, w naszym przypadku obsługuje błedne wybory użytkownika.

Nasz prosty skrypt jest gotowy!

Oto cały skrypt wraz z komentarzami:


Pamiętaj, że skrypt ten to tylko przykład i możesz go dowolnie modyfikować i rozszerzać o kolejne opcje według własnych potrzeb.

Nauczyliśmy się, jak stworzyć menu z wyborem opcji, jak sprawdzić swój adres IP, jak zmienić adres MAC na losowy oraz jak zeskanować sieć lokalną za pomocą narzędzia nmap. Dowiedzieliśmy się również, jak korzystać z pętli for do iteracji po każdym elemencie z listy oraz jak obsługiwać wyjątki za pomocą instrukcji case.

Do następnego. Cześć!