Чтобы создать загрузочный USB-накопитель debian с компьютера Linux, вы можете использовать команду dd
или команду cp
как рекомендуется на официальном сайте.
Использование dd
:
dd if=/path/to/ISO of=/dev/sdX bs=4M; sync
Использование cp
:
cp /path/to/iso /dev/sdX
Как записать образ CD / DVD / BD на флэш-накопитель USB?
На Linux машине, просто используйте команду cp, чтобы скопировать образ на USB-накопитель:
cp
В качестве альтернативы вы также можете использовать dd:
dd if =
of = bs = 4M; синхронизация
Попробуйте эту протестированную версию:
netstat -tn 2>/dev/null | awk '/:80 / {print $5}' | sed 's/.*::ffff://' | sed 's/:.*//' | sor t | uniq -c | sort -nr |\
while read index ipaddress ; do \
printf "%s " "${index}" ;\
getent hosts "${ipaddress}" ;\
if [ $? -eq 2 ]; then \
printf "%s\n" "${ipaddress}" ;\
fi ;\
done
Он использует стандартный getent для запроса базы данных hosts для получения имя хоста с учетом его IP-адреса.
Тест:
5 81.133.113.200 host81-133-113-200.in-addr.btopenworld.com
4 80.229.142.126 garnerhome.plus.com
2 94.136.36.29 mail.e-trackit.co.uk
2 92.19.231.69 host-92-19-231-69.static.as13285.net
2 85.159.56.230
2 83.70.246.152 83-70-246-152-dynamic.b-ras1.prp.dublin.eircom.net
2 81.131.118.236 host81-131-118-236.range81-131.btcentralplus.com
2 185.106.92.42
1 92.19.232.88 host-92-19-232-88.static.as13285.net
...
Я забываю, что Sed можно использовать для добавления строки, а не только для удаления содержимого. Я использовал Sed, чтобы найти строку и добавить после нее строку. Довольно просто, если подумать.
Думаю, я слишком усложнил ситуацию с выводом в столбцах
Простой один лайнер в качестве примера:
netstat -tn 2>/dev/null | awk '/:80 / {print $5}' | sed 's/.*::ffff://' | sed 's/:.*//' | sed '/8.8.8.8/s/$/ Its Google/' | sort | uniq -c | sort -nr
Вы можете обрабатывать вывод построчно и печатать согласно ваши требования. Предполагая, что вы хотите сопоставить адреса с именами хостов из / etc / hosts, вы можете сделать что-то вроде этого:
get_connected_hosts() {
netstat -tn 2>/dev/null | awk '/:80 / {print $5}' | sed 's/.*::ffff://' | sed 's/:.*//' | sort | uniq -c | sort -nr
}
get_connected_hosts | while read line; do
set -- $line
result=$(grep $2 /etc/hosts | head -1 | awk '{ print $2 }')
# or a reverse DNS lookup, result=$(dig +short -x $2)
echo "$1 $2 - $result"
done | column -t
netstat -tn | awk '/:80 / {print $5}' | sed -e 's/:.*//' |
xargs -i sh -c 'echo {} $(getent hosts {})' |
awk '$1 == $2 {print $2, $3; next}; {print}' |
sort | uniq -c | sort -nr
(все может быть однострочным, я добавил перевод строки, чтобы избежать горизонтальных полос прокрутки и сделать его более читаемым)
Это использует xargs -i
(с неявным -L 1
) для выполнения поиска getent hosts
перед запуском sort | uniq -c
. Это сложнее, чем должно быть, потому что getent
не выводит ничего, если поиск ничего не возвращает, поэтому нам нужно убедиться, что IP-адрес печатается с помощью echo
-ing it до getent
. Второй awk
гарантирует, что в каждой строке печатается только один IP-адрес.
В качестве альтернативы можно использовать nslookup
, dig -x
или host -i
для поиска IP-адреса в имени хоста, но все это потребует еще больше обработки вывода.
sed
после awk
в первой строке действительно не требуется, мы могли бы сделать то же самое, используя awk
gsub ( )
функция для изменения $ 5
перед ее печатью, но я думаю, что такой способ более читабелен и понятен.