como usar o bash para gerar IPs aleatórios no Curl
Como usar o endereço IP aleatório na solicitação do Curl, estou usando esse código no Curl, mas retorne meu ip local do http://ifconfig.me
printf "%d.%d.%d.%d\n" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))"
em Curl
curl --header 'X-Forwarded-For: printf "%d.%d.%d.%d\n" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))"' http://ifconfig.me
Respostas
Você está citando incorretamente. Podes tentar:
curl --header "X-Forwarded-For: $(printf "%d.%d.%d.%d" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))")"
Você pode se livrar das aspas internas e até mesmo printfinteiramente:
curl --header "X-Forwarded-for: $((RANDOM % 256)).$((RANDOM % 256)).$((RANDOM % 256)).$((RANDOM % 256))"
No entanto, se o site de destino aceita ou não, X-Forwarded-Foré outra questão. Definir este cabeçalho não esconde realmente seu próprio IP do site de destino.
Vou sugerir este design
shuf -i 0-255 -rn4 | paste -sd.
Mas perde printfjá que o primeiro valor no IP não deve ser igual a 0
printf %d.%d.%d.%d $((RANDOM%255+1)) $((RANDOM%256)){,,}
Primeiro o shell abre a "Extensão de chave" e então substitui os valores das variáveis
Você esqueceu o python:
$ python3 -c 'import ipaddress; import random; print( str( ipaddress.IPv4Address( random.randint( 0, 4294967295 ) ) ) )'
no seu caso
$ curl --header "X-Forwarded-For: $( python3 -c 'import ipaddress; import random; print( str( ipaddress.IPv4Address( random.randint( 0, 4294967295 ) ) ) )' )" http://ifconfig.me
Existem muitas opções bonitas. Veja help( ipaddress ). Você pode verificar is_global, is_loopback, is_ipv6, is_subnet, etc ...