Quão comum é a matemática sofisticada de IP aceita por ferramentas?

2

Se especificarmos um endereço IPv4, todos nós geralmente fazemos o padrão de 1.2.3.4 Agora, essencialmente, essa é apenas uma maneira de escrever um número de 32 bits de uma forma mais legível para humanos.

O endereço IP 1.2.3.4 também pode ser escrito como 1,2 (3 * 256 + 4) = 1,2.772

Isso faz com que você possa ter um endereço IP com 3 pontos (ou seja, prática comum), 2 pontos, 1 ponto e nenhum ponto (isto é, um inteiro normal de 32bit sem sinal, escrito como um inteiro decimal).

Usando essa notação alternativa, você pode escrever alguns endereços IP ainda mais legíveis: 10.10.4000 é o mesmo que 10.10.15.160

Um dos efeitos colaterais mais importantes é que, se isso for usado em combinação com um servidor da web como o apache, você pode definir quatro vhosts diferentes em um único endereço IP sem o uso de um arquivo DNS ou de hosts. (Tente isso em casa;)

Eu sei que existem muitas ferramentas baseadas em GUI (como a configuração IP do Windows) que simplesmente tem 4 campos que aceitam apenas 0-255. Muitas ferramentas de linha de comando (como ping, curl, ssh, etc.) e praticamente todos os navegadores (que basicamente têm uma barra de endereços de forma livre) podem ter a forma 'qualquer'.

Agora, minha pergunta é: Quão bem esses tipos de notações IPv4 alternativas são aceitas / permitidas pelas ferramentas que temos "em estado selvagem" que aceitam qualquer forma?

    
por Niels Basjes 02.09.2009 / 08:04

4 respostas

3

Funciona devido ao funcionamento da função inet_addr . Praticamente todos os códigos de aplicativo de rede usam isso para converter strings IP em sua forma inteira, e ele suporta as notações a, b.b.c e a.b.c.d.

Então, sim, deve ser bastante seguro assumir que é possível usar todas essas quatro notações para um endereço IP.

    
por 15.09.2009 / 03:15
5

Não gosto da ideia de escrever endereços IP em representações de números inteiros diferentes da a.b.c.d form onde cada um dos 4 valores está no intervalo 0-255 (com outras restrições).

Outras notações simplesmente levariam a interpretações errôneas e mais bugs na natureza.
Eu voto para identificar todas as ferramentas e aplicativos que permitem essas interpretações e corrigi-las.

Eventualmente teremos as notações IPv6 com as quais trabalhar ; não deixa bagunçar as coisas.

    
por 02.09.2009 / 08:57
2

A barra de localização do Chrome completa automaticamente os IP pontilhados e mostra o resultado enquanto você digita. Ou seja, link - > link , link - > link , etc.

    
por 14.09.2009 / 20:25
1

Se você se deparar com o programa .NET que lê o endereço IP, poderá contar com ele para representar a representação decimal também. A maioria dos analisadores em linguagens de programação que usei se comportam da mesma forma.

Infelizmente, poucos deles usam o RegEx para verificar se a sintaxe pontilhada é inserida quando você tenta fazer isso a partir da interface do usuário. Então, enquanto eles são capazes de analisá-lo, eles optam por não fazê-lo.

No entanto, observe que a sintaxe pontilhada é muito mais legível e memorável que a representação decimal.

    
por 02.09.2009 / 09:28