gpt4 book ai didi

perl - 使用 Perl LWP 欺骗 IP

转载 作者:行者123 更新时间:2023-11-28 19:50:13 24 4
gpt4 key购买 nike

我需要编写一小段代码来模拟来自不同源 IP 地址的流量,我想知道这是否可以通过使用 Perl 欺骗地址来完成?

我尝试了 Net::RAWIP 并且成功了,但是我需要发送一些更复杂的 HTTP 流量(即 POST 数据)并且无法使用 RAWIP 这样做

对于 LWP,我尝试使用 ua->local_address 但我得到了这个响应:

Can't connect to 10.x.x.x:8080

LWP::Protocol::http::Socket: Cannot assign requested address at /usr/lib/perl5/site_perl/5.10.0/LWP/Protocol/http.pm line 51.

这是我正在使用的代码:

#!/usr/bin/perl -w

use strict ;
use warnings ;
use LWP::UserAgent ;
use URI::URL ;

my $path = 'http://142.133.114.130:8080' ;
my $url = new URI::URL $path;
my $ua = LWP::UserAgent->new();

$ua->local_address('10.121.132.112');
$ua->env_proxy ;
my $effing = 'blaj.jpg' ;
my $response = $ua->post( $url,
'Content-Type' => "multipart/form-data",
'Content' => [ userfile => ["$effing" ]],
'Connection' => 'keep-alive' ) ;
print $response->decoded_content();

最佳答案

如果您从不属于您的地址发送,您将无法收到回复。这意味着您所能做的就是发送请求。您已表示可以发送,因此您只需要发送请求即可。这很容易。

use strict;
use warnings;

use HTTP::Request::Common qw( POST );

my $req = POST('http://www.example.org/',
'Content-Type' => "multipart/form-data",
'Content' => [ userfile => [ $0 ]],
'Connection' => 'keep-alive',
);

print $req->as_string();

输出:

POST http://www.example.org/
Connection: keep-alive
Content-Length: 376
Content-Type: multipart/form-data; boundary=xYzZY

--xYzZY
Content-Disposition: form-data; name="userfile"; filename="x.pl"
Content-Type: text/plain

use strict;
use warnings;

use HTTP::Request::Common qw( POST );

my $req = POST('http://www.example.org/',
'Content-Type' => "multipart/form-data",
'Content' => [ userfile => [ $0 ]],
'Connection' => 'keep-alive',
);

print $req->as_string();

--xYzZY--

关于perl - 使用 Perl LWP 欺骗 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12411723/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com