Использование hping для внедрения пакета в TCP-соединение Netcat - PullRequest
0 голосов
/ 06 октября 2018

У меня открыто соединение netcat между сервером и клиентом, и я пытаюсь создать пакет, используя hping для печати текста на клиенте.

Моя проблема в том, что я могу создать очень похожийпакет к тому, что нужно, но мне не хватает параметров TCP, которые находятся в пакетах, которые отправляются с сервера на клиент через netcat.

здесь моя команда hping

hping3 -A -y  -M 717766814 -L 3830111434 -N 37033 -w 227 -b  -p 55526 -s 5555 -P 192.168.0.116 -c 1 -d 8 -E task4.txt

здесьпакет, который я создаю

11:16:45.116157 00:a0:98:64:9f:40 > 00:a0:98:36:c8:07, ethertype IPv4 (0x0800), length 62: (tos 0x0, ttl 64, id 37033, offset 0, flags [DF], proto TCP (6), length 48)
    192.168.0.216.5555 > 192.168.0.116.55526: Flags [P.], cksum 0x5600 (incorrect -> 0x0355), seq 717766814:717766822, ack 3830111434, win 227, length 8
    0x0000:  4500 0030 90a9 4000 4006 2782 c0a8 00d8  E..0..@.@.'.....
    0x0010:  c0a8 0074 15b3 d8e6 2ac8 409e e44a dcca  ...t....*.@..J..
    0x0020:  5018 00e3 5600 0000 4243 4445 4647 410a  P...V...BCDEFGA.

фактический пакет, который мне нужен для создания

11:16:52.352624 00:a0:98:64:9f:40 > 00:a0:98:36:c8:07, ethertype IPv4 (0x0800), length 74: (tos 0x0, ttl 64, id 38493, offset 0, flags [DF], proto TCP (6), length 60)
    192.168.0.216.5555 > 192.168.0.116.55526: Flags [P.], cksum 0x82cb (incorrect -> 0x0ce8), seq 717766814:717766822, ack 3830111434, win 227, options [nop,nop,TS val 1099353487 ecr 208117467], length 8
    0x0000:  4500 003c 965d 4000 4006 21c2 c0a8 00d8  E..<.]@.@.!.....
    0x0010:  c0a8 0074 15b3 d8e6 2ac8 409e e44a dcca  ...t....*.@..J..
    0x0020:  8018 00e3 82cb 0000 0101 080a 4186 cd8f  ............A...
    0x0030:  0c67 9edb 4142 4344 4546 470a            .g..ABCDEFG.

пакеты идентичны, за исключением отсутствия опций и контрольной суммы

Как я могудобавить параметры в мой созданный пакет или есть другой способ заставить тест появляться на клиенте с помощью hping?

1 Ответ

0 голосов
/ 12 октября 2018

Как вы видели, hping3 не предоставляет способа установки параметров TCP "из коробки".Тем не менее, хорошая новость заключается в том, что опции TCP находятся рядом с полезной нагрузкой TCP в пакете.Таким образом, вы можете добавить данные с помощью параметров TCP:

  1. Вместо данных просто поместите параметры TCP + данные в файл, который вы предоставляете, в hping3:

    echo "0101080a4186cd8f0c679edb414243444546470a" | python3 -c "import sys, binascii; sys.stdout.buffer.write(binascii.unhexlify(input().strip()))" > /tmp/task4.txt
    
  2. Отправка с использованием hping3, вам необходимо изменить размер данных на 20 и установить смещение данных на 8 ( смещение данных по умолчанию 5 32 битслова ) для правильного определения добавленных TCP параметров:

     -O --tcpoff
            Set fake tcp data offset. Normal data offset is tcphdrlen / 4.
    
    hping3 -A -y  -M 717766814 -L 3830111434 -N 37033 -w 227 -b  -p 55526 -s 5555 -P 192.168.134.161 -c 1 -d 20 -O 8 -E task4.txt
    

Результирующий созданный пакет:

08:27:07.956095 IP (tos 0x0, ttl 64, id 37033, offset 0, flags [DF], proto TCP (6), length 60)
    192.168.134.142.5555 > 192.168.134.161.55526: Flags [P.], cksum 0x5451 (incorrect -> 0x0104), seq 0:8, ack 1, win 227, options [nop,nop,TS val 1099353487 ecr 208117467], length 8
    0x0000:  4500 003c 90a9 4000 4006 1b92 c0a8 868e  E..<..@.@.......
    0x0010:  c0a8 86a1 15b3 d8e6 2ac8 409e e44a dcca  ........*.@..J..
    0x0020:  8018 00e3 5451 0000 0101 080a 4186 cd8f  ....TQ......A...
    0x0030:  0c67 9edb 4142 4344 4546 470a            .g..ABCDEFG.
...