Como o cabeçalho TCP pode anunciar o IP da LAN sobre o IP público no sistema rastreador?

-1

** Eu hospedei um rastreador xbtit em um servidor VPS. Carreguei um arquivo e meu amigo que está em maio a LAN o baixou. Mas durante o download, ele não obteve a velocidade da LAN que deveria obter. Em vez de seu IP da rede local, seu IP público foi detectado e, portanto, ele foi baixado em velocidade lenta.

Como o cabeçalho TCP pode anunciar o IP da LAN sobre o IP público no sistema de rastreamento? Existe algum código php pequeno?

Quando eu costumava hospedar o servidor na LAN, não havia esses problemas. E todos os meus usuários que usarão esse rastreador são meus usuários de LAN do ISP.

Alguém por favor me ajude

skmdrony
fonte
não sei bem qual é o seu aplicativo, mas, em teoria, o IP privado pode ser incluído como dados, para que você veja o IP (não existe) mais profundo / mais longe, veja o TCP. vá mais fundo / mais longe, você vê o protocolo da camada de aplicativos um pouco mais longe e vê seus dados e tudo pode estar lá. a altura, o peso da sua namorada, talvez a foto se houver espaço, talvez o endereço se houver e, se você quiser, o IP privado do seu computador. mas provavelmente o protocolo bit torrent teria que ser abusado um pouco de alguma forma para contrabandear que no.
barlop

Respostas:

0

Infelizmente, o que você está querendo não é realmente prático (e eu posso entender por que alguém deu a -1, embora não fosse eu).

Vou tentar desvendar um pouco para você -

Quando os computadores (domésticos) estão em uma LAN, eles geralmente compartilham um intervalo "inválido" de endereços, que o roteador reescreve como um endereço IP válido - um processo chamado NAT -, esse parece ser o caso da sua LAN.

Um servidor web usa TCP (normalmente na porta 80). A maioria dos servidores da Web poderá fornecer informações sobre o computador que está se conectando a ele com base em dois fatores - os dados que ele recebe - que parecem vir do roteador, não do computador - e dos cabeçalhos fornecidos pelo cliente da Web. Nenhum desses fatores inclui o endereço de rede local do cliente em que o endereço de rede local foi NAT - na verdade, fazer isso seria uma falha de segurança sem (na maior parte) nenhum valor. Este é o problema fundamental que você está tendo.

Portanto, a resposta para a próxima parte da sua pergunta é "Não, você não pode escrever um pedaço de PHP para anunciar o IP local, pois ele nunca recebe o IP local". Além disso, fazer isso seria contrário ao espírito do Bittorrent - desculpe, mas o compartilhamento de um arquivo usando o BT EXTERNALLY para uso local está fora dos parâmetros de design - esse tipo de problema pode ser resolvido usando o compartilhamento de arquivos.

Se você deseja solucionar o problema, é necessário mover o Tracker para a LAN ou conectar o VPS externo à LAN através de uma VPN para "derrotar" o NAT entre os locais. Dito isto, se você estiver fazendo essas perguntas, provavelmente precisará aprender muito antes de iniciar a configuração de uma VLAN que funcionará para você.

davidgo
fonte
você escreve "um intervalo de endereços 'inválido'" OUCH. Quer dizer gama particular de endereços, conforme listado na RFC 1918.
barlop
Observe que alguns clientes tentam procurar outros clientes na mesma LAN e fazem o compartilhamento da LAN dessa maneira, mas esse é um recurso por cliente e não o próprio protocolo bittorrent.
Scott Chamberlain
@ Barlop - Sim, você está correto, e eu estou ciente da RFC1918 (incluindo a faixa 172.16 / 12 que a maioria das pessoas não reconhece!). Eu deliberadamente tentei manter minha resposta simples, por isso a palavra inválida estava entre aspas.
davidgo 24/09
0

É verdade que não há solução prática para o seu problema.

No entanto, só consigo pensar em uma maneira alternativa para o seu problema.

Você pode configurar um rastreador bittorrent na sua rede local e pedir ao rastreador principal (que está no www) para adicionar um URL de anúncio do seu rastreador torrent local automaticamente enquanto faz o download do torrent.

Isso é possível com o . O script que xbtitvocê está usando usa um método de codificação e decodificação de torrent chamado BEncodee BDecode. Você pode adicionar ou remover URLs do rastreador durante o processo BEncoding.

Você pode desenvolver algum código php para verificar o URL de solicitação do download, se estiver dentro do seu intervalo de IP. Se for uma correspondência, você pode adicionar o URL de anúncio do rastreador local dentro da matriz de "announce-list". Configure seu rastreador de torrent local para rastrear qualquer torrent para qualquer usuário. Consulte a documentação XBTT .

Agora, os usuários da sua rede local na sua LAN podem baixar o torrent e serem anunciados na sua rede local, conectar-se e baixar.

Imtiaz
fonte
0

Na configuração do seu rastreador

Marque Permitir Torrents Externos

Desmarque Desativar DHT

desmarque Private Scrape

Desmarcar anúncio privado

The KingMaker
fonte