Como obter seu IP público em um script de Bash Linux

Nov 9, 2024
Linux

Você precisará do seu endereço IP externo se deseja se conectar remotamente ao seu computador. Encontrá -lo manualmente é fácil, mas veja como encontrar seu script Linux.

Endereços IP internos e externos

Endereços de protocolo da Internet são usados para identificar dispositivos em uma rede. Eles são um rótulo exclusivo da rede, atribuído a um único dispositivo. Se outro dispositivo quiser enviar dados para esse dispositivo, ele pode fazê -lo usando seu endereço IP.

Seu modem de banda larga possui um roteador de rede incorporado a ele que direciona o tráfego de rede em torno da rede de dispositivo para dispositivo. É também a autoridade local que aloca endereços IP aos dispositivos quando ingressarem na rede. Ele também mantém uma tabela de nomes de rede e endereços IP. Isso permite que você forneça nomes significativos aos computadores em sua rede, porque - para os seres humanos - os nomes são mais fáceis de trabalhar do que listas de números.

Dispositivos no Internet também tem um endereço IP. Alguns deles também têm nomes, como sites. Serviço de nome de domínio Os fornecedores procuram nomes de domínio do site e trocam -os para endereços IP, automaticamente.

Seu modem de banda larga recebe sua própria Internet ou externo Endereço IP pelo seu Provedor de internet (ISP). Independentemente do número de dispositivos que você possa ter em sua casa conectada à Internet, o tráfego combinado é que tudo sai através desse endereço IP único.

Se você está fora da cidade e deseja se conectar a um serviço que está executando em um dos computadores em sua casa, precisará usar seu endereço IP externo para fazê -lo. Seu roteador precisará ser configurado para rotear sua solicitação de conexão para o dispositivo apropriado dentro de sua casa, é claro.

A menos que você pague um pouco mais ao seu ISP todos os meses para um estático endereço de IP Seu endereço IP externo pode mudar de tempos em tempos. A reinicialização do seu modem de banda larga pode resultar na obtenção de um endereço IP externo diferente. Portanto, se você precisar conhecer seu endereço IP externo, não poderá verificar uma vez e armazená -lo. Você precisará determinar periodicamente o que é.

Encontrando seu endereço IP externo

Descobrir seu endereço IP externo significa conversar com algo que está fora da sua rede. Em outras palavras, acessar algo na internet que pode nos fornecer as informações que queremos. Precisamos espiar o vazio e ver o que está olhando para nós. E depois peça nosso endereço externo.

Existem duas maneiras de fazer isso. Uma maneira envolve sites. Existem muitos sites que mostrarão qual é o seu endereço IP externo e um monte de outras informações. Você pode acessá-los no seu navegador ou usar uma ferramenta de linha de comando como ondulação isso pode fazer Https solicitações de.

A outra maneira é usar um comando dedicado como escavação . O escavação O comando interroga os servidores DNS para recuperar informações.

Usando um navegador

Obviamente, o uso de um navegador não é uma maneira amiga do script para obter seu endereço IP externo. Mas olhar para um site que entrega esse serviço pode nos fornecer informações úteis. Costumávamos recomendar ip4.me Mas o site não foi atualizado para o HTTPS. Ainda usa o mais velho, inseguro Http . O site ainda funciona, mas agora existem alternativas melhores.

Isso está relatando nosso IP externo como 178.238.11.140. Percorrendo a página da web, você encontrará uma lista de comandos que você pode usar para recuperar informações do site.

Os exemplos que eles dão todos usam ondulação para interrogar o site. Então, vamos dar uma olhada em usando ondulação .

Usando CURL

Em nossas máquinas de teste, Fedora 37 já tinha ondulação instalado. Precisávamos instalá -lo em nossos computadores Ubuntu e Manjaro.

Podemos tentar isso com o primeiro comando listado no ifconfig.me página da Internet.

Nosso endereço IP externo é recuperado e exibido na janela do terminal. A saída é os ossos nus. Não existe nem um caractere novo impresso após a string. O prompt de comando é atingido contra o endereço IP.

Este comando funciona porque devolver o endereço IP é a ação padrão do site. Se a ação padrão mudar, poderíamos obter um resultado diferente devolvido para nós. Para atender a isso, podemos especificar que estamos solicitando nosso endereço IP adicionando o identificador "IP" ao URL.

Isso ilustra o problema de usar um site como fonte do seu endereço IP. Os sites podem fechar ou podem mudar a maneira como operam ou o formato das informações retornadas. Essas mudanças farão scripts Isso depende desses sites para falhar ou se comportar imprevisivelmente.

Usando um recurso respeitável e confiável como um Dns O servidor é uma maneira mais robusta de obter seu IP externo. Para consultar um servidor DNS, precisamos usar o comando DIG.

RELACIONADO: O que é DNS e devo usar outro servidor DNS?

Usando o comando DIG

Desta vez, escavação foi instalado no Fedora e no Ubuntu, e só tivemos que instalá -lo em Manjaro.

O comando é o usual Pacman Comando, então não há surpresas lá, mas o nome do pacote não é o que você pode esperar.

Para usar escavação Para descobrir nosso endereço IP externo, precisamos apontá -lo para um servidor DNS. Estamos usando o Opendns Server, que é fornecido pela Cisco .

Precisamos especificar o nome do servidor DNS que queremos usar, precedido por um sinal "@". Também precisamos nomear o tipo de registro que desejamos recuperar. Nesse caso, é "myip". O +curto A opção garante que obtemos uma resposta concisa, e não uma verbosa.

Desta vez, nosso endereço IP possui um caractere novo imprimido após ele. Como veremos, isso é impresso após a sequência de endereço IP, não é parte integrante da própria string.

Usando estes em um script

Existem muitas razões pelas quais você pode querer conhecer seu endereço IP externo de dentro de um script. Talvez você tenha um script que monitora se o seu endereço IP externo mudou e o notifica quando isso ocorre. Ou talvez um servidor notifique seus clientes quando seu endereço muda. Quaisquer que sejam seus motivos, podemos implementar os comandos que usamos na linha de comando dentro de um script com bastante facilidade.

Para recuperar nosso endereço IP externo e atribuí -lo a um variável , só precisamos envolver o comando dentro de uma substituição de comando, $ (...) e atribui -lo a uma variável, assim:

O comando dentro dos parênteses é executado e o valor de retorno é substituído pela expressão. Neste exemplo, o comando é simplificado para "Variable = Return Value".

Aqui está em um script. Nós adicionamos o -s (silencioso) opção para o ondulação comando para impedir que ele relate o progresso da recuperação de dados.

Copie este script para um editor e salve -o como "getEx1.sh" e faça -o executável com o chmod comando .

Para fazer o mesmo com a opção mais robusta de usar um servidor DNS em vez de um site, tudo o que precisamos fazer é substituir o ondulação comando com o escavação um.

Salve isso como script "getEx2.sh" e faça com que seja executável com chmod .

Podemos ver na saída dos dois scripts que, apesar do comando escavação Imprimindo um personagem novo na linha de comando, no script, não há nova linha adicionada ao Extaddr variável.

Vá para confiabilidade

É sempre mais seguro usar um serviço reconhecido que seja respeitável e possui um formato de saída previsível do que usar um site "não oficial". Como tudo na internet, dê uma boa olhada em quem você está obtendo suas informações. '

RELACIONADO: Como deixar os scripts Linux detectarem que estão executando em máquinas virtuais

  • Como encontrar seu endereço IP no CMD (prompt de comando)
  • Wyze está baixo, não é só você
  • Microsoft Edge está recebendo bate -papo de IA e uma nova aparência no Windows
  • A Microsoft está transformando o Bing em um mecanismo de pesquisa de IA
  • Como bloquear ou desbloquear alguém em tiktok
  • O OnePlus 11 está aqui, mas com um começo difícil
  • Bose QuietComfort Earbuds 2 Revisão: Um passo à frente para o áudio de cancelamento de ruído

Linux - Artigos mais populares

Como usar "Aqui Documentos" em Bash no Linux

Linux Mar 31, 2025

Fatmawati Achmad Zaenuri / Shutterstock O mais chamado "Aqui Documentos" permite usar redirecionamento de entrada / saída dentro de scripts de bash no Linux. ..


Quais são os dicionários de bash no Linux, e como você os usa?

Linux Jun 16, 2025

Fatmawati Achmad Zaenuri / Shutterstock.com Bash Dictionaries Dê a você mapas hash e matrizes associativas em scripts de shell Linux. Vamos mostrar como us..


Como usar o comando fsck no Linux

Linux Aug 18, 2025

Pixza Studio / Shutterstock Todos os nossos dados importantes sentam em um sistema de arquivos de um tipo ou outro, e os problemas do sistema de arquivos são ..


O jogo nativo no Linux pode estar morrendo, e tudo bem

Linux Sep 27, 2025

DC Studio / Shutterstock.com o Deck de vapor , Anunciado em agosto de 2021, tem círculos de jogos Linux falando sobre o futuro dos jogos no Linux. ..


Linux vira 30: Como um projeto de hobby conquistou o mundo

Linux Sep 17, 2025

Larry Ewing e The GIMP Sobre 17 de setembro de 1991 , Linus Torvalds lançou kernel do Linux (versão 0.01) pela primeira vez. Aqui está uma breve ..


KDE Connect está finalmente chegando ao iphone

Linux Oct 26, 2025

KDE. Se você está procurando uma maneira fácil de fazer o seu iPhone jogar nice com o seu KDE Desktop hoje é o seu dia de sorte, como KDE Connect est..


O que há de novo no Fedora 35

Linux Nov 2, 2024

Fedora 35, chapéu vermelho O livre Distribuição do Linux. (Distro), foi lançado em 2 de novembro de 2021. De uma experiência de desktop atualizada para os ajuste..


Ubuntu 21.10 chega com um desktop personalizado gnome 40

Linux Oct 14, 2025

Ubuntu. Se você é um usuário do Ubuntu, ou alguém que está pensando em dar uma tentativa, hoje é um bom dia. Canônico lançou oficialmente o Ubuntu 21.10 com um de..


Categorias