An open API service indexing awesome lists of open source software.

https://github.com/ericneves/findipaddress

Find IP address with bash script 🔎
https://github.com/ericneves/findipaddress

bash bash-script ip linux network-programming

Last synced: 3 months ago
JSON representation

Find IP address with bash script 🔎

Awesome Lists containing this project

README

          

![Logo](.github/logo.svg)

### Find IP Address

![Image](https://img.shields.io/github/license/ericneves/FINDIPADDRESS?color=green&style=flat-square&logo=appveyor)

Script escrito em bash, que possui a finalidade de encontrar endereços IP's conectados na rede interna.

![Logo](.github/result.png)

### Funcionamento

Iremos seguir a ordem de execução do script e entender o seu simples e poderoso funcionamento.

Primeiro é preciso entender a classe de IP de sua rede interna, no exemplo é utilizado o IP de classe C: 192.168.100.{host}, em que os dispositivos conectados correspodem apenas ao último campo: {host}.




O comando abaixo é um simples ping, enviando apenas uma contagem -c1. Uma vez que o IP inserido está conectado, é retornado 64 bytes, a partir deste ponto iremos filtrar as informações.

![Logo](.github/ping.png)

O comando grep "64 bytes" retorna apenas o IP conectado.


Lembrando que o caracter | separa um comando por vez.

![Logo](.github/grep.png)

O comando awk '{print $4}' retorna o trecho da 4ª coluna.

![Logo](.github/awk.png)

O comando sed 's/://' retira o caracter ':', ao invés de 192.168.100.1:, o resultado é 192.168.100.1, e é isso, a lógica está pronta.

![Logo](.github/sed.png)

Antes de montar o script, o código abaixo retorna uma lista de valores que serão os possíveis hosts conectados na rede. A variavél $i será inserida de forma dinâmica, por exemplo: 192.168.100.$i, resultando numa lista de IP's.

![Logo](.github/for.png)

Após entendermos a lógica, vamos criar o script e adicionar a permissão de execução. Sendo que nano foi o editor que escolhi.

![Logo](.github/chmod.png)

E essa foi a execução e o resultado do script, podendo ser uma ferrament muito útil para diversos contextos.

![Logo](.github/script.png)
![Logo](.github/result.png)

### License

![Image](https://img.shields.io/github/license/ericneves/FINDIPADDRESS?color=green&style=flat)