如何在 Curl 请求中使用随机 ip 地址,我在 Curl 中使用此代码,但返回我的本地 ip http://ifconfig.me
printf "%d.%d.%d.%d\n" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))"
在卷曲中
curl --header 'X-Forwarded-For: printf "%d.%d.%d.%d\n" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))"' http://ifconfig.me
答案1
你引用的是错误的。你可以试试:
curl --header "X-Forwarded-For: $(printf "%d.%d.%d.%d" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))" "$((RANDOM % 256))")"
您可以摆脱内部引号,甚至完全摆脱printf
:
curl --header "X-Forwarded-for: $((RANDOM % 256)).$((RANDOM % 256)).$((RANDOM % 256)).$((RANDOM % 256))"
然而,目标网站是否接受则完全X-Forwarded-For
是另一回事。设置此标头实际上不会向目标站点隐藏您自己的 IP。
答案2
我会建议这个设计
shuf -i 0-255 -rn4 | paste -sd.
但它会失败,printf
因为 IP 中的第一个值不应该等于 0
printf %d.%d.%d.%d $((RANDOM%255+1)) $((RANDOM%256)){,,}
首先shell打开“大括号扩展”,然后替换变量的值
答案3
你忘记了Python:
$ python3 -c 'import ipaddress; import random; print( str( ipaddress.IPv4Address( random.randint( 0, 4294967295 ) ) ) )'
在你的情况下
$ curl --header "X-Forwarded-For: $( python3 -c 'import ipaddress; import random; print( str( ipaddress.IPv4Address( random.randint( 0, 4294967295 ) ) ) )' )" http://ifconfig.me
有很多漂亮的选择。看help( ipaddress )
。你可以检查is_global
,,,,等等......is_loopback
is_ipv6
is_subnet