Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
udp2raw — Um Túnel que Converte Tráfego UDP em Tráfego UDP Criptografado/FakeTCP/ICMP usando Raw Socket, ajuda você a Contornar Firewalls UDP (ou Ambiente UDP Instável) | Kitploit
Ferramentas/GitHubGitHub/wangyu-/udp2raw
Ferramentas de Criptografia/DescriptografiaEvasão de IDS/IPSSegurança de Rede
GitHubwangyu-/udp2raw

udp2raw

Um Túnel que Converte Tráfego UDP em Tráfego UDP Criptografado/FakeTCP/ICMP usando Raw Socket, ajuda você a Contornar Firewalls UDP (ou Ambiente UDP Instável)

Ver Repositório
8.5k1.3khá 10 mesesRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Udp2raw-tunnel

Um túnel que transforma tráfego UDP em tráfego FakeTCP/UDP/ICMP criptografado usando Raw Socket, ajudando você a contornar firewalls UDP (ou ambientes UDP instáveis).

Quando usado sozinho, o udp2raw tunela apenas tráfego UDP. No entanto, se você usar udp2raw em conjunto com qualquer VPN baseada em UDP, poderá tunelar qualquer tráfego (incluindo TCP/UDP/ICMP). Atualmente, OpenVPN, L2TP, ShadowVPN e tinyfecVPN são confirmados como suportados.

image0

ou

image_vpn

wiki do udp2raw

简体中文

Plataformas Suportadas

Host Linux (incluindo desktop Linux, celular/tablet Android, roteador OpenWRT ou Raspberry Pi) com conta root ou capacidade cap_net_raw.

Para usuários Windows e MacOS, use o udp2raw neste repositório.

Recursos

Enviar/Receber Pacotes UDP com cabeçalhos ICMP/FakeTCP/UDP

Cabeçalhos ICMP/FakeTCP ajudam a contornar bloqueio UDP, QoS UDP ou comportamento inadequado de NAT UDP em algumas operadoras. No modo de cabeçalho ICMP, o udp2raw funciona como um túnel ICMP.

Cabeçalhos UDP também são suportados. No modo de cabeçalho UDP, ele se comporta como um túnel UDP normal, e você pode aproveitar outros recursos (como criptografia, anti-replay ou estabilização de conexão).

TCP Simulado com Entrega em Tempo Real/Fora de Ordem

No modo de cabeçalho FakeTCP, o udp2raw simula o handshake de três vias ao estabelecer uma conexão, simula seq e ack_seq durante a transferência de dados. Também simula algumas opções de TCP como: MSS, sackOk, TS, TS_ack, wscale. Firewalls considerarão o FakeTCP como uma conexão TCP, mas ele é essencialmente UDP: suporta entrega em tempo real/fora de ordem (como o UDP normal), sem controle de congestionamento ou retransmissão. Portanto, não haverá problema de TCP sobre TCP ao usar OpenVPN.

Criptografia, Anti-Replay

  • Criptografe seu tráfego com AES-128-CBC.
  • Proteja a integridade dos dados com HMAC-SHA1 (ou MD5/CRC32 mais fracos).
  • Defesa contra ataque de repetição com janela anti-replay.

Notas sobre criptografia

Detecção de Falhas e Estabilização (Recuperação de Conexão)

Falhas de conexão são detectadas por heartbeats. Se houver timeout, o cliente alterará automaticamente o número da porta e se reconectará. Se a reconexão for bem-sucedida, a conexão anterior será recuperada e todas as conversas UDP existentes permanecerão válidas.

Por exemplo, se você usar udp2raw + OpenVPN, o OpenVPN não perderá a conexão após qualquer reconexão, mesmo se o cabo de rede for desconectado ou o ponto de acesso WiFi for alterado.

Outros Recursos

  • Multiplexação Um cliente pode lidar com múltiplas conexões UDP, todas compartilhando a mesma conexão raw.

  • Múltiplos Clientes Um servidor pode ter múltiplos clientes.

  • Suporte a NAT Todos os 3 modos funcionam em ambientes NAT.

  • Suporte a OpenVZ Testado no VPS BandwagonHost.

  • Fácil de Compilar Sem dependências. Para compilar o udp2raw de forma cruzada, tudo que você precisa é baixar uma toolchain, modificar o makefile para apontar para a toolchain, executar make cross e pronto. (Nota: binários pré-compilados para Desktop, Raspberry Pi, Android e alguns roteadores OpenWRT já estão incluídos nos Releases)

Palavras-chave

Bypass UDP QoS Bypass UDP Blocking Bypass OpenVPN TCP over TCP problem OpenVPN over ICMP UDP to ICMP tunnel UDP to TCP tunnel UDP over ICMP UDP over TCP

Primeiros Passos

Instalação

Baixe a versão binária em https://github.com/wangyu-/udp2raw-tunnel/releases

Execução

Suponha que seu UDP esteja bloqueado, com QoS ou simplesmente mal suportado. Suponha que o IP do seu servidor seja 44.55.66.77 e você tenha um serviço escutando na porta UDP 7777.

root@kitploit:~
# Execute no lado do servidor:
./udp2raw_amd64 -s -l0.0.0.0:4096 -r 127.0.0.1:7777    -k "passwd" --raw-mode faketcp -a

# Execute no lado do cliente
./udp2raw_amd64 -c -l0.0.0.0:3333  -r44.55.66.77:4096  -k "passwd" --raw-mode faketcp -a

(Os comandos acima precisam ser executados como root. Para maior segurança, com alguns passos extras, você pode executar o udp2raw como não root. Verifique este link para mais informações)

Saída do Servidor:

Saída do Cliente:

Agora, um túnel raw criptografado foi estabelecido entre cliente e servidor através da porta TCP 4096. Conectar-se à porta UDP 3333 no lado do cliente equivale a conectar-se à porta 7777 no lado do servidor. Nenhum tráfego UDP será exposto.

Nota

Para executar no Android, consulte o Android_Guide

A opção -a adiciona automaticamente uma regra iptables (ou algumas regras iptables) para você. O udp2raw depende dessa regra iptables para funcionar de forma estável. Lembre-se de não esquecer o -a (é um erro comum). Se você não quiser que o udp2raw adicione a regra iptables automaticamente, pode adicioná-la manualmente (veja a opção -g) e omitir o -a.

Tópico Avançado

Uso

root@kitploit:~
udp2raw-tunnel
git version:4623f878e0    build date:Nov  3 2024 23:15:46
repository: https://github.com/wangyu-/udp2raw-tunnel

usage:
    run as client : ./this_program -c -l local_listen_ip:local_port -r server_address:server_port  [options]
    run as server : ./this_program -s -l server_listen_ip:server_port -r remote_address:remote_port  [options]

common options,these options must be same on both side:
    --raw-mode            <string>        available values:faketcp(default),udp,icmp and easy-faketcp
    -k,--key              <string>        password to gen symetric key,default:"secret key"
    --cipher-mode         <string>        available values:aes128cfb,aes128cbc(default),xor,none
    --auth-mode           <string>        available values:hmac_sha1,md5(default),crc32,simple,none
    -a,--auto-rule                        auto add (and delete) iptables rule
    -g,--gen-rule                         generate iptables rule then exit,so that you can copy and
                                          add it manually.overrides -a
    --disable-anti-replay                 disable anti-replay,not suggested
    --fix-gro                             try to fix huge packet caused by GRO. this option is at an early stage.
                                          make sure client and server are at same version.
client options:
    --source-ip           <ip>            force source-ip for raw socket
    --source-port         <port>          force source-port for raw socket,tcp/udp only
                                          this option disables port changing while re-connecting
other options:
    --conf-file           <string>        read options from a configuration file instead of command line.
                                          check example.conf in repo for format
    --fifo                <string>        use a fifo(named pipe) for sending commands to the running program,
                                          check readme.md in repository for supported commands.
    --log-level           <number>        0:never    1:fatal   2:error   3:warn
                                          4:info (default)     5:debug   6:trace
    --log-position                        enable file name,function name,line number in log
    --disable-color                       disable log color
    --disable-bpf                         disable the kernel space filter,most time its not necessary
                                          unless you suspect there is a bug
    --dev                 <string>        bind raw socket to a device, not necessary but improves performance
    --sock-buf            <number>        buf size for socket,>=10 and <=10240,unit:kbyte,default:1024
    --force-sock-buf                      bypass system limitation while setting sock-buf
    --seq-mode            <number>        seq increase mode for faketcp:
                                          0:static header,do not increase seq and ack_seq
                                          1:increase seq for every packet,simply ack last seq
                                          2:increase seq randomly, about every 3 packets,simply ack last seq
                                          3:simulate an almost real seq/ack procedure(default)
                                          4:similiar to 3,but do not consider TCP Option Window_Scale,
                                          maybe useful when firewall doesnt support TCP Option
    --lower-level         <string>        send packets at OSI level 2, format:'if_name#dest_mac_adress'
                                          ie:'eth0#00:23:45:67:89:b9'.or try '--lower-level auto' to obtain
                                          the parameter automatically,specify it manually if 'auto' failed
    --wait-lock                           wait for xtables lock while invoking iptables, need iptables v1.4.20+
    --gen-add                             generate iptables rule and add it permanently,then exit.overrides -g
    --keep-rule                           monitor iptables and auto re-add if necessary.implys -a
    --hb-len              <number>        length of heart-beat packet, >=0 and <=1500
    --mtu-warn            <number>        mtu warning threshold, unit:byte, default:1375
    --clear                               clear any iptables rules added by this program.overrides everything
    --retry-on-error                      retry on error, allow to start udp2raw before network is initialized
    -h,--help                             print this help message

Regras Iptables, -a e -g

Este programa envia pacotes via raw socket. No modo FakeTCP, o processamento de pacotes TCP do kernel Linux deve ser bloqueado por uma regra iptables em ambos os lados; caso contrário, o kernel enviará automaticamente RST para um pacote TCP não reconhecido e você sofrerá problemas de estabilidade/desempenho. Você pode usar a opção -a para que o programa adicione/exclua automaticamente a regra iptables ao iniciar/sair. Você também pode usar a opção -g para gerar a regra iptables e adicioná-la manualmente.

--cipher-mode e --auth-mode

É recomendado usar aes128cbc + hmac_sha1 para obter máxima segurança. Se você quiser executar o programa em um roteador, pode tentar xor + simple, que pode enganar a inspeção de pacotes por firewalls na maioria das vezes, mas não o protegerá contra ataques sérios. O modo none é apenas para depuração. Não é recomendado definir cipher-mode ou auth-mode como none.

--seq-mode

O modo FakeTCP não se comporta 100% como uma conexão TCP real. As operadoras podem ser capazes de distinguir o tráfego TCP simulado do tráfego TCP real (embora seja caro). seq-mode pode ajudá-lo a alterar ligeiramente o comportamento de incremento de seq. Se você tiver problemas de conexão, tente alterar o valor.

--lower-level

--lower-level permite enviar pacotes no nível 2 do OSI (nível de enlace), para que você possa contornar quaisquer regras iptables locais. Se você tiver regras iptables complicadas que entrem em conflito com o udp2raw e não puder (ou tiver preguiça de) editar as regras iptables, --lower-level pode ser muito útil. Tente --lower-level auto para detectar automaticamente os parâmetros. Você pode especificá-los manualmente se auto falhar.

Formato manual if_name#dest_mac_adress, ex.: eth0#00:23:45:67:89:b9.

--keep-rule

Monitora o iptables e readiciona automaticamente as regras iptables (para bloquear o processamento TCP do kernel) se necessário. Especialmente útil quando as regras iptables podem ser limpas por outros programas (por exemplo, se você estiver usando OpenWRT, toda vez que alterar e confirmar uma configuração, as regras iptables podem ser limpas e reconstruídas).

--conf-file

Você também pode carregar opções de um arquivo de configuração para manter segredos longe do comando ps.

Por exemplo, reescreva as opções do exemplo de servidor acima (na seção Primeiros Passos) em um arquivo de configuração:

server.conf

root@kitploit:~
-s
# Você pode adicionar comentários como este
# Comentários DEVEM ocupar uma linha inteira
# Caso contrário, não funcionarão como esperado
# Endereço de escuta
-l 0.0.0.0:4096
# Endereço remoto
-r 127.0.0.1:7777
-a
-k passwd
--raw-mode faketcp

Preste atenção ao parâmetro -k: No modo de linha de comando, as aspas ao redor da senha serão removidas pelo shell. Em arquivos de configuração, não removemos aspas.

Em seguida, inicie o servidor com

root@kitploit:~
./udp2raw_amd64 --conf-file server.conf

--fifo

Use um fifo (pipe nomeado) para enviar comandos ao programa em execução. Por exemplo, --fifo fifo.file.

No lado do cliente, você pode usar echo reconnect >fifo.file para forçar o cliente a se reconectar. Atualmente, nenhum comando foi implementado para o servidor.

Teste de Desempenho

Método de teste:

iperf3 TCP via OpenVPN + udp2raw (O modo UDP do iperf3 não é usado devido a um bug mencionado nesta issue: https://github.com/esnet/iperf/issues/296 . Em vez disso, empacotamos o tráfego TCP em UDP através do OpenVPN para testar o desempenho. Leia Aplicação para detalhes.

Comando iperf3:

root@kitploit:~
iperf3 -c 10.222.2.1 -P40
iperf3 -c 10.222.2.1 -P40 -R

Ambientes

  • Cliente Plano Vultr de $2,50/mês (CPU single core 2,4 GHz, 512 MB RAM, Tóquio, Japão)
  • Servidor Plano BandwagonHost de $3,99/ano (CPU single core 2,0 GHz, 128 MB RAM, Los Angeles, EUA)

Teste1

raw_mode: faketcp cipher_mode: xor auth_mode: simple

image4

(a velocidade reversa foi semelhante e não enviada)

Teste2

raw_mode: faketcp cipher_mode: aes128cbc auth_mode: md5

image5

(a velocidade reversa foi semelhante e não enviada)

wiki

Consulte a wiki para mais informações:

https://github.com/wangyu-/udp2raw-tunnel/wiki

Baixar ferramenta