Если вдруг кто еще не знает, то Фёдор (хоть убейте но единственные ассоциации которые у меня вызывает это имя - это "Дядя", "Матроскин" и "Простоквашино " =) ) выложил уже довольно давно в онлайн доступ pre-release бета версию своей книги "Nmap Network Scanning", официальный запуск которой планируется в этом месяце. Онлайн версия не полная, однако тот обьем материала, который доступен уже превышает все то, что было опубликовано прежде (не, ну может конечно я и перегнул, но все же ...). Онлайн версия это кончено хорошо, но интернет не всегда есть, да и хорошо было бы иметь локальную копию - так, на всякий случай. За сим:
wget -r -l0 -np -k -p http://nmap.org/book/
-r - рекурсивная загрузка
-l0 - бесконечная вложенность ссылок
-np - no parent, т.е. не загружать файлы выше базового адреса
-k - конвертировать ссылки для удобства оффлайн просмотра
-p - загружать все файлы, которые необходимы для отображения html страниц
и не забываем поставить trailing slash в конце адреса.
После окончания загрузки получаем следующую структуру директорий
Для того, чтобы сделать локальную копию книги более удобочитаемой я написал пару скриптов, которые "вырезают" из файлов все лишнее. Первый скрипт на ruby режет все "лишнее" в файле, точнее не режет, а выводит все "нужное" в консоль
parse.rb
Второй скрипт на shell, который собственно выполняет предыдущий скрипт для каждого html файла в директории nmap.org/book
process-dir.sh
Собственно далее копируем оба скрипта в nmap.org/book и делаем в консоли sh process-dir.sh.
P.S. Если кто вдруг подскажет мне quick&dirty way как сконвертировать все это добро в PDF - буду премного благодарен ;-)
wget -r -l0 -np -k -p http://nmap.org/book/
-r - рекурсивная загрузка
-l0 - бесконечная вложенность ссылок
-np - no parent, т.е. не загружать файлы выше базового адреса
-k - конвертировать ссылки для удобства оффлайн просмотра
-p - загружать все файлы, которые необходимы для отображения html страниц
и не забываем поставить trailing slash в конце адреса.
После окончания загрузки получаем следующую структуру директорий
`-- nmap.org
|-- book
| |-- images
| | |-- zenmap-icons
|-- book-icons
|-- css
|-- images
`-- zenmap
`-- images
Для того, чтобы сделать локальную копию книги более удобочитаемой я написал пару скриптов, которые "вырезают" из файлов все лишнее. Первый скрипт на ruby режет все "лишнее" в файле, точнее не режет, а выводит все "нужное" в консоль
parse.rb
input = ARGF.read
# write the contets of head tag with opening html tag
start_pos = input.index /<html>/
end_pos = input.index /<[bB][oO][dD][yY]/
puts input[start_pos..end_pos-1]
# write opening body tag
puts "<body>"
start_pos = input.index /<div class="navheader">/
end_pos = input.index /<div class="navfooter">/
puts input[start_pos..end_pos-1]
# write closing body and html tags
puts "</body></html>"
Второй скрипт на shell, который собственно выполняет предыдущий скрипт для каждого html файла в директории nmap.org/book
process-dir.sh
#!/bin/sh
mv toc.html index.html
file_list=`ls | grep html`
for file in $file_list
do
echo ">>>>>processing file " $file
ruby parse.rb $file > $file"_tmp"
mv $file"_tmp" $file
done
Собственно далее копируем оба скрипта в nmap.org/book и делаем в консоли sh process-dir.sh.
P.S. Если кто вдруг подскажет мне quick&dirty way как сконвертировать все это добро в PDF - буду премного благодарен ;-)
Хм. Почему не скинуть это все в какой-нибудь файл и не прожевать pdflatex?
ReplyDeleteну, во первых, файлы перелинкованы между собой - возникает проблема конвертации ссылок. а во вторых - если мне не изменяет память, то pdflatex компилирует TeX разметку в PDF.
ReplyDeletefile_list=`ls | grep html`
ReplyDeletefor file in $file_list
->
for file in `ls *.html`