Scapy на PlanetLab

Кто-нибудь когда-либо преуспел в использовании Scapy на PlanetLab node (работает Fedora 12)?

Я знаю безопасный raw socket ограничения, но кажется, что я могу отправлять пакеты через Scapy by просто установите conf.L3socket=L3RawSocket. Что касается приема пакетов, я не мог заставить Scapy работать, поэтому я просто использую tcpdump.

TCP и ICMP работают:

  • ICMP-эхо-запросы получают ответ эхо-ответа
  • ICMP-эхо-запросы с низким TTL получают сообщение с превышением времени
  • TCP SYN-пакеты возвращают пакет TCP RST
  • TCP-пакеты с низким TTL получают сообщение с превышением времени

UDP:

  • UDP-пакеты для закрытого порта запускают порт ICMP-недостижимый сообщение, но это сообщение не возвращается к моей ленте. Tcpdump только видит UDP-пакет.
  • то же самое для UDP-пакетов, истекающих по их пути.

Существуют ли какие-либо дополнительные параметры для приема этих ICMP-пакетов?

Ответ 1

Не уверен, что это поможет, но в моем опыте, чтобы получать пакеты в scapy, вы должны использовать метод sr или sr1:

SR1 (IP (ДСТ = "192.168.1.8" )/UDP (DPORT = 60112))

Начало излучения: ... Готово отправить 1 пакет. Получил 4 пакета, получил 1 ответ, осталось 0 пакетов

<IP  version=4L ihl=5L tos=0xc0 len=56 id=47804 flags= frag=0L ttl=64 proto=icmp chksum=0x6274 src=192.168.1.8 dst=192.168.1.2 options='' |<ICMP  type=dest-unreach code=3 chksum=0x59eb unused=0 |<IPerror  version=4L ihl=5L tos=0x0 len=28 id=1 flags= frag=0L ttl=64 proto=udp chksum=0x1dfc src=192.168.1.2 dst=192.168.1.8 options='' |<UDPerror  sport=domain dport=60112 len=8 chksum=0xb803 |>>>>

Функция sr() предназначена для отправки пакетов и получения ответов. Функция возвращает пару пакетов и ответов, а также оставшиеся без ответа пакеты. Функция sr1() - это вариант, который возвращает только один пакет, который ответил на пакет (или пакет), отправленный. - Источник