Um computador simplesmente não pode enviar um endereço IP?

Certo!

Basta usar um protocolo de rede diferente da Camada de transporte (Camada 4 no modelo OSI), como NetBIOS Frames, AppleTalk ou IPX / SPX, cada um dos quais usa seu próprio modelo de endereçamento, que por definição não inclui um endereço IP. Esses protocolos são geralmente considerados obsoletos, embora ainda possam ser encontrados em sistemas legados em ambientes industriais.

Obviamente, você não poderá navegar na Internet, porque a comunicação bidirecional na Internet usa o Protocolo da Internet, que requer o uso de endereços IP.

Mesmo dentro do Protocolo da Internet (e IPv4 ou IPv6), os computadores enviam pacotes regularmente sem endereços IP. Por exemplo, quando você conecta um computador a uma rede, ele pode enviar um pacote DHCPDISCOVER para localizar um servidor DHCP. Como o computador ainda não possui um endereço IP (o servidor DHCP o atribuirá), esse pacote é enviado com seu endereço MAC como um identificador. Como não possui endereço IP, não pode ser roteado diretamente (embora possa ser roteado por um servidor proxy DHCP).

(Isso é uma simplificação excessiva.)

Claro, mas espero que você não esteja esperando uma resposta. É perfeitamente possível falsificar seu endereço IP em um pacote. Mas sem o IP correto, a resposta desaparecerá na Internet para nunca mais ser vista. Como o protocolo TCP é baseado em sessão, você conseguirá muito pouco fazendo isso.

Rob Lion e Marco Biagini têm a resposta correta, juntos.

Nos velhos tempos de discagem, o primeiro protocolo lançado para conectar computadores à Internet via modem era o SLIP, “Serial Line Internet Protocol”. O SLIP não era muito rápido; logo, havia o CSLIP, SLIP compactado, que tentava torná-lo mais rápido.

Uma das maneiras pelas quais o CSLIP poderia tornar as coisas mais rápidas era permitir que o computador discando omitisse o IP do “remetente” ao enviar. Por outro lado, o servidor de terminal omitiria o IP de “destino” quando estivesse enviando. Por quê? Porque aqueles nunca mudariam .

Portanto, nesse caso, o computador não está enviando um IP – em vez disso, o gateway está adicionando-o. Como Marco menciona, se você estiver se conectando a um gateway IP por uma rede não IP, seu computador não enviará um IP. Pode até não ter seu próprio IP.

E, como Rob diz, você pode simplesmente deixar de fora seu IP, mesmo que não esteja em uma rede assim. Obviamente, isso significa que o outro lado não saberá de onde o pacote veio, portanto, não poderá enviar uma resposta corretamente e significa que os firewalls da rede provavelmente jogarão fora o pacote como inválido. (Advertência: existe uma opção no IP que permite especificar como os pacotes devem ser roteados de volta para você. Isso era necessário algumas vezes nos primeiros dias da Internet, mas basicamente nunca é mais usado, e os firewalls mais modernos recusam tais pacotes … mas, hipoteticamente, você poderá usá-lo para obter respostas, mesmo que não tenha enviado seu IP.)

Você também pode falsificar seu IP. Esse é um dos métodos usados ​​para ataques de negação de serviço por meio de terceiros: envie o máximo de tráfego possível, usando um IP falso “de”. O receptor enviará pacotes para o IP que você coloca como seu “de”.

Um computador certamente não pode enviar um endereço IP, mas não poderá receber dados de outros computadores na Internet. As leis da física certamente não impedem a criação de software (ou hardware) que produz datagramas de protocolo da Internet não compatíveis. Muitas pessoas acham que essa degradação significativa da funcionalidade não vale os benefícios que possam perceber.

Surpreendentemente, um computador nem precisa estar conectado a uma rede (IP)!


Edição para extrair essa adição dos comentários:

O roteamento IP determina como os pacotes passam de um sistema para outro na rede. O roteador no seu ISP pelo qual seus pacotes (entrada e saída) passam possui certos intervalos de endereços que espera encontrar em cada uma de suas portas, e se o endereço IP de origem que você está falsificando não corresponder ao esperado, os pacotes podem antes que eles cheguem à Internet. Muitos (provavelmente a maioria) dos ISPs implementam a filtragem de entrada para ajudar a impedir ataques Smurf, que exploram esse conceito de falsificação de endereços IP.

Se seus pacotes chegarem ao servidor, provavelmente não será capaz de dizer que é legítimo, mas os pacotes enviados em resposta não poderão rotear de volta para o seu computador. Eles tentarão seguir um caminho de volta para quem possui legitimamente esse endereço IP, que provavelmente não saberá o que fazer com eles e apenas os descartará. Essa não é uma maneira muito eficaz de interagir com a Internet.

Suponho que o computador possa, mas você terá um gateway que converte o Protocolo de Rede em um endereço IP. Por exemplo, você pode executar o IPX / SPX ou o ARCNet (antigo Novell), mas, de alguma forma, seria necessário um dispositivo que possa converter a pilha IPX / SPX em uma pilha TCP / IP. Acho que você nem encontraria mais esse software / hardware.

Antigamente, os IBM Mainframes executavam o SNA e havia gateways do SNA que se traduziam no protocolo para outro. Não tenho certeza se isso foi útil. Resumindo, se agora tudo está relacionado ao IP, a resposta curta provavelmente é não.

Sim. Uma das tarefas de programação da minha classe de rede era escrever um servidor de email SMTP que enviasse emails ‘anônimos’.

Foi bastante trivial.