Tôi cần viết một đoạn mã nhỏ để mô phỏng lưu lượng truy cập từ các địa chỉ IP nguồn khác nhau và tôi tự hỏi liệu điều đó có thể được thực hiện bằng cách giả mạo địa chỉ với Perl không?IP giả mạo với Perl LWP
tôi đã cố gắng Net :: RAWIP và hoạt động tốt, nhưng tôi cần phải gửi một số lưu lượng HTTP phức tạp hơn (cụ thể là dữ liệu POST) và không thể làm như vậy với RAWIP
Với LWP Tôi đã cố gắng sử dụng UA-> local_address nhưng tôi nhận được câu trả lời này:
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.
Đây là mã tôi đang sử dụng:
#!/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();
Gửi tập tin được không phải là một vấn đề, nó thay đổi IP nguồn của yêu cầu. Tôi đang ở trên mạng LAN và tôi có quyền kiểm soát các tuyến đường và máy chủ nghe vì vậy đó là ok – blackbird
Bạn đã nói rằng bạn đã có thể thực hiện điều đó với Net :: RAWIP. Điều duy nhất bạn không thể làm với Net :: RAWIP là định dạng yêu cầu và tôi đã chỉ cho bạn cách thực hiện điều đó. – ikegami
Điều này là dành cho RAWIP! hãy để tôi thử ... – blackbird