Передача HEX в формах с использованием переполнения стека

Попытка передать шестнадцатеричные значения через форму с использованием php для отправки через сокеты TCP, как показано ниже

<html>
<body>
<form action="fsock.php" method="post">
HEX: <input type="text" name="hex"><br>

<input type="submit">
</form>

<?php
function strToHex($string){
$hex = '';
for ($i=0; $i<strlen($string); $i++){
$ord = ord($string[$i]);
$hexCode = dechex($ord);
$hex .= substr('0'.$hexCode, -2);
}
return strToUpper($hex);
}

$hex = strToHex($_POST["hex"]);

$fp = fsockopen("192.168.1.108", 48879);
if (!$fp) {
echo "Unable to open\n";
} else {

$in1 = "\x00\x07\x04";
$in2 = "\x01\x07\x01";

fwrite($fp, $in1);
fwrite($fp, $in2);
fwrite($fp, $hex);
stream_set_timeout($fp, 1);
$res = fread($fp, 2000);

$info = stream_get_meta_data($fp);
fclose($fp);

if ($info['timed_out']) {
echo 'Connection timed out!';
} else {
echo $res;
}
}
?>
</body>
</html>

Как мне получить $ _POST [«ex»] в формате $ in1 и $ in2?

Я не могу заставить это работать с советами ниже!

Я использую следующее в качестве ввода \ x01 \ x07 \ x01, но я получаю только каждый отдельный символ, преобразованный в шестнадцатеричный, а не байтовый.

Я хочу иметь точно такой же вывод, как $ in2, как?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]