Как изменить полезную нагрузку пакета при повторной передаче? - PullRequest
0 голосов
/ 11 июня 2019

Я хочу попробовать реализовать метод RSTEG, используя scapy.То есть, отправляя пакет, получатель не отправляет подтверждающее сообщение, этот пакет отправляется снова, но со стеганограммой в полезной нагрузке получатель снова не отправляет подтверждающее сообщение.Затем этот пакет отправляется снова, но без стеганограммы.(один и тот же пакет отправляется три раза, но стеганограмма отправляется второй раз.) Возможно ли реализовать его с помощью Scapy, как я могу это сделать?

С созданием пакетов и их отправкой тудане проблемаЯ могу использовать тайм-аут и повторить попытку, чтобы не получить подтверждающее сообщение и повторно отправить пакет.Но я не понимаю, как в этом случае изменить полезную нагрузку и в конце получить подтверждающее сообщение.

1 Ответ

0 голосов
/ 18 июня 2019

Вы можете сделать что-то вроде -

packet=IP() / UDP() / ... / Raw(load=your_data) # the ... are for all your other protocols
response=sr1(packet, timeout=5)
if response is None:
    # response is not received, send it 2nd time
    packet[Raw].load = your_data_with_steganogram
    response=sr1(packet, timeout=1)
    if response is None:
        # response is not received, send it 3rd time
        packet[Raw].load = your_data
        response=sr1(packet, timeout=1)
...