Подавить вывод TCPDump и показать только уникальные записи

$ cat test-c.bash 
#! /bin/bash

echo -e "Enter file name: \c"
read file_name

if [ -c $file_name ]
then
    echo Character special file $file_name found
else
    echo Character special file $file_name not found
fi
$ bash test-c.bash 
Enter file name: /dev/tty
Character special file /dev/tty found
$ cat test-b.bash
#! /bin/bash

echo -e "Enter file name: \c"
read file_name

if [ -b $file_name ]
then
    echo Block special file $file_name found
else
    echo Block special file $file_name not found
fi
$ bash test-b.bash 
Enter file name: /dev/sda
Block special file /dev/sda found

За исключением отсутствующего fiв ваших программах, они делают то, что и следовало ожидать.

Ваше предположение...

test.txt is a character special file

img.jpg is a block special file

...вероятно, это неправильно, если вы не создали их для выполнения этого, например. используя mknod.
(См. man mknod.)

Таким образом, если ваши тестовые файлы соответствуют названиям, то это просто обычные (обычные )файлы.

Что вы искали?

Способ различать текстовые файлы и двоичные файлы, как в операционных системах DOS?

Это реликт времен CP/M или даже старше. Файловая система действительно отслеживала размеры файлов в блоках, и поэтому текстовые файлы нуждались в символе конца файла, чтобы пометить конец действительного текста.

Следствием этого является то, что объединение двоичных файлов и текстовых файлов должно выполняться по-разному.

Файловые системы Unix отслеживают размер файла в блоках и в фактически используемых байтах, поэтому нет необходимости помечать конец текста с помощью специального символа окончания.

Если вы хотите угадать, что находится внутри файла, вы можете использовать команду file:

$ file 20170130-094911-GMT.png 
20170130-094911-GMT.png: PNG image data, 744 x 418, 8-bit/color RGBA, non-interlaced
$ file calendar.txt 
calendar.txt: ASCII text

ХТХ!

-1
12.09.2019, 10:42
1 ответ

Рассматривали ли вы возможность добавления простой команды grep в качестве дополнительного канала? Например,

$ sudo tcpdump -c 5 -q -i eno1 -nn -vvv tcp | sort | uniq | grep '>'
1
28.01.2020, 05:09

Теги

Похожие вопросы