Решение проблемы с ошибкой Pyrit: IOError: libpcap-error while reading: truncated dump file; tried to read 424 captured bytes, only got 259

При использовании программы Pyrit иногда возникают ошибки. Например, у меня набралось несколько особенных рукопожатий. И при любых командах, связанных с обработкой этих рукопожатий в Pyrit (т. е. при запуске с ключом -r), возникала ошибка подобная этой:

root@MiAl:~# pyrit -r hs/Janphen1_64-66-B3-AE-8C-E7.cap attack_db
Pyrit 0.4.1-dev (svn r308) (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com
This code is distributed under the GNU General Public License v3+

Connecting to storage at 'file://'... connected.
Parsing<img class="cke_wordpress_more" data-cke-realelement="%3C!--more--%3E" data-cke-real-node-type="8" alt="Неизвестный объект" title="Неизвестный объект" align="" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" data-cke-real-element-type="hr"> file hs/Janphen1_64-66-B3-AE-8C-E7.cap (1/1)...
Traceback (most recent call last):
File "/usr/local/bin/pyrit", line 6, in &lt;module&gt;
pyrit_cli.Pyrit_CLI().initFromArgv()
File "/usr/local/lib/python2.7/dist-packages/pyrit_cli.py", line 117, in initFromArgv
func(self, **options)
File "/usr/local/lib/python2.7/dist-packages/pyrit_cli.py", line 165, in new_f
f(*args, **kwds)
File "/usr/local/lib/python2.7/dist-packages/pyrit_cli.py", line 1047, in attack_db
ap = self._fuzzyGetAP(self._getParser(capturefile), bssid, essid)
File "/usr/local/lib/python2.7/dist-packages/pyrit_cli.py", line 181, in _getParser
parser.parse_pcapdevice(dev)
File "/usr/local/lib/python2.7/dist-packages/cpyrit/pckttools.py", line 696, in parse_pcapdevice
for pckt in reader:
File "/usr/local/lib/python2.7/dist-packages/cpyrit/pckttools.py", line 589, in next
pckt = self.read()
File "/usr/local/lib/python2.7/dist-packages/cpyrit/pckttools.py", line 577, in read
r = _cpyrit_cpu.PcapDevice.read(self)
IOError: libpcap-error while reading: truncated dump file; tried to read 424 captured bytes, only got 259

Самой важной строчкой является последняя — IOError: libpcap-error while reading: truncated dump file; tried to read 424 captured bytes, only got 259

Т.е. файл дампа (рукопожатия) был обрезанным, программа ожидала получить 424 байта, а ей передавалось только 259.

Можно открыть эти «неполные» рукопожатия программой Wireshark (в Kali Linux для этого достаточно дважды кликнуть на файл с расширением .cap. При открытии программа нам выдаст следующее сообщение об ошибке:

23

The capture file appears to have been cut short in the middle of a packet.

Т.е. смысл такой же, дамп захвата обрезан.

Не спешите расстраиваться, эти файлы рукопожатий рано считать потерянными. Файлы действительно повреждены и ошибка исходит напрямую от libpcap. Но эти файлы легко можно «отремонтировать». Причём сделать это можно двумя разными способами.

Сам Pyrit с лёгкостью это делает при использовании ключа 'stripLive'. Пример команды

pyrit -r wscapture-01.cap -o wscapture-01_stripped.cap stripLive

Где

wscapture-01.cap — «неполный» файл.

wscapture-01_stripped.cap — новый «полный» файл, который уже можно использовать.

При самом запуске вышеприведённой команды ещё раз появится ошибка, связанная с неполнотой исходного файла. Но новый файл (wscapture-01_stripped.cap) появится в любом случае.

С новым файлом (в нашем примере wscapture-01_stripped.cap) Pyrit будет работать без ошибок.

Второй способ — пересохранить файл с помощью Wireshark. Нужно выбрать не «Сохранить как», а именно «Экспортировать». Сохранить нужно всё — выбрать "save displayed packets".

42

Опять же, с этим новым файлом Pyrit будет работать без ошибок.

2 комментария

  1. Nevozmozhno  reshat problemu " IOError: libpcap-error while reading: truncated dump file; tried to read 424 captured bytes, only got 259"   pitayus ee reshit s pomoshyu "pyrit -r wscapture-01.cap -o wscapture-01_stripped.cap stripLive" no snova vidayot oshibku " Failed to open 'wscapture-01.cap' either as a file ('Failed to open file 'wscapture-01.cap' (libpcap: wscapture-01.cap: No such file or directory)') or as a device ('Failed to open device 'wscapture-01.cap' (libpcap: wscapture-01.cap: No such device exists (SIOCGIFHWADDR: No such device))') " chto delat ?

     

    1. Если ответить на Ваш вопрос «Что делать?» — читать внимательно, что здесь написано. Эта ошибка возникает при неправильном указании имени файла.

      pyrit -r wscapture-01.cap -o wscapture-01_stripped.cap stripLive

      Где

      wscapture-01.cap — «неполный» файл.

      Т.е. Вам нужно заменить wscapture-01.cap на имя своего файла, который у Вас есть.

Добавить комментарий для Phoenix Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *