Я пытаюсь сбросить вывод со всех моих интерфейсов. Это то, что у меня так далеко:
ifconfig | awk '{print $1}' | sed s'/.$//'
Я хотел бы иметь что-то вроде:
ifconfig | awk '{print $1}' | sed s'/.$//' | tcpdump -i {} -c 1
где {} - это то, что передается в трубе.
ОБНОВИТЬ:
Вот пример выходных данных ifconfig:
em0: encaps: эфир; обрамление: эфир флаги = 0x3 / 0x8000 curr media: i802 2: 0: 0: 1: 0: 4 em0.0: flags = 0x8000 первичный inet mtu 1500 local = 129.16.0.1 dest = 128.0.0.0 / 2 bcast = 191.255.255.255 ТНП первичный МТУ 1500 местный = 17825796
awk выведет имя интерфейса, которое мне нужно передать в tcpdump.
Эквивалентный запуск приведенного выше кода будет:
tcpdump -i em0
tcpdump -i em0.0
Как я могу передать в tcpdump в одну строку?
Ответы:
источник
Есть ли какая-то причина, по которой вы не просто используете специальное устройство с именем
any
? IEtcpdump -i any
.источник