При использовании программы 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 <module> 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. При открытии программа нам выдаст следующее сообщение об ошибке:
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".
Опять же, с этим новым файлом Pyrit будет работать без ошибок.
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 ?
Если ответить на Ваш вопрос «Что делать?» — читать внимательно, что здесь написано. Эта ошибка возникает при неправильном указании имени файла.
Где
wscapture-01.cap — «неполный» файл.
Т.е. Вам нужно заменить wscapture-01.cap на имя своего файла, который у Вас есть.