I am working on an UDP spoofer written in PHP and I wanted to know how can I forge those packets. Any help is appreciated. Thank you!
Asked
Active
Viewed 878 times
2 Answers
0
The following function will create a socket in PHP with a port number. Depending on what you are spoofing, you will need to modify the 'message'. In the example below is in clear text but often applications transmit this in the form of binary information which will need to be reserve engineered to spoof it.
function sendUDP($host, $msg, $timeout = 1) {
/* ICMP ping packet with a pre-calculated checksum */
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_set_option($socket, SOL_SOCKET, SO_RCVTIMEO, array('sec' => $timeout, 'usec' => 0));
socket_connect($socket, $host, 8000); //Set up to send to port 8000, change to any port
socket_send($socket, $msg, strLen($msg), 0);
$buf = "";
$from = "";
$port = 0;
@socket_recvfrom($socket , $buf , 24 , 0 , $from , $port );
socket_close($socket);
return $buf;
}

tkrn
- 596
- 1
- 3
- 17
0
just read those code: server.php
<?php
//error_reporting( E_ALL );
set_time_limit( 0 );
ob_implicit_flush();
$socket = socket_create( AF_INET, SOCK_DGRAM, SOL_UDP );
if ( $socket === false ) {
echo "socket_create() failed:reason:" . socket_strerror( socket_last_error() ) . "\n";
}
$ok = socket_bind( $socket, '202.85.218.133', 11109 );
if ( $ok === false ) {
echo "socket_bind() failed:reason:" . socket_strerror( socket_last_error( $socket ) );
}
while ( true ) {
$from = "";
$port = 0;
socket_recvfrom( $socket, $buf,1024, 0, $from, $port );
echo $buf;
usleep( 1000 );
}
?>
client.php
<?php
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
$msg = 'hello';
$len = strlen($msg);
socket_sendto($sock, $msg, $len, 0, '202.85.218.133', 11109);
socket_close($sock);
?>

chunshengster
- 41
- 2