use Net::RawIP; my $packet = new Net::RawIP({udp=>{check => 0}}); $packet->set({ ip => { saddr => "192.168.10.10", daddr => "192.168.10.20" }, udp => { source => 6544, dest => 514, data => 'test123' } }); $packet->send; #### 13:24:07.572481 IP (tos 0x10, ttl 55, id 45453, offset 0, flags [DF], proto UDP (17), length 35) 192.168.10.10.6544 > 192.168.10.20.514: [bad udp cksum 8!] [|syslog]