Как измерить сетевой трафик (с pfSense/freeBSD)?

Быстро глядя на страницы MAN для TAR, мы можем установить выходной файл с -F

, я обычно использую что-то из вида:

TAR-A -CF filename.tar.bz2 input_fname.txt

Затем вы можете указать свой FilePath как часть вашего имени файла для вывода. Например /mnt/drive_1/Output.tar.bz2 или ../../ Option.tgz будет работать в качестве имени файла. Тогда вы получите сжатый файл в этом месте.

Аргументы:

  • A: Auto Compress: использует ваш данный тип файла, чтобы выяснить, что делать.
  • C: Compress: говорит ему сжать вместо распаковки
  • f: Установите имя файла: Позволяет указать ваш файл и путь к файлу. Вы также можете дать относительные пути и имена.

Я надеюсь, что сжатие TAR просто помещает все в выходной файл и ничего не делает в вашем каталоге. Попробуйте и посмотри, если это работает, хотя.

1
23.01.2015, 16:01
2 ответа

Отложенный ответ на комментарии ОП. Я использовал shuf как choroba 's, но мой кодирует карты как целые числа от 0 до 51. Кроме того, для случайных тестов можно использовать переменную $ RANDOM .

Вы можете получить это через https://gist.github.com/yaegashi/57065723166e3a72b79e

#!/bin/bash

# This version conforms to Bash 3.2.53 on OS X.

stab=('\e[0;31;47m ♦' '\e[0;31;47m ♥' '\e[0;30;47m ♠' '\e[0;30;47m ♣')
ntab=(2 3 4 5 6 7 8 9 10 J Q K A)

match() {
        for i; do
                printf "  ${stab[$((i/13))]}${ntab[$((i%13))]}\e[0m"
        done
        printf "\n"

        suits=(0 0 0 0)
        nums=(0 0 0 0 0 0 0 0 0 0 0 0 0)
        same2=()
        same3=()
        same4=()
        flush=-1
        straight=-1
        conseq=0
        for i; do
                ((suits[i/13]++))
                ((nums[i%13]++))
        done
        for ((i=0; i<4; i++)); do
                ((suits[i]==5)) && flush=$i
        done
        for ((i=0; i<13; i++)); do
                case ${nums[$i]} in
                2) same2+=($i) ;;
                3) same3+=($i) ;;
                4) same4+=($i) ;;
                esac
                if ((i>0)); then
                        conseq=$((nums[i]>0?(nums[i-1]>0?conseq+1:1):0))
                else
                        conseq=$((nums[i]>0?1:0))
                fi
                ((conseq==5)) && straight=$i
        done
        if ((${#same4[*]}>0)); then
                echo "FOUR OF A KIND - ${ntab[${same4[0]}]}"
        elif ((${#same3[*]}>0)); then
                if ((${#same2}>0)); then
                        echo "FULL HOUSE - ${ntab[${same3[0]}]} ${ntab[${same2[0]}]}"
                else
                        echo "THREE OF A KIND - ${ntab[${same3[0]}]}"
                fi
        elif ((${#same2[*]}>1)); then
                echo "TWO PAIR - ${ntab[${same2[1]}]} ${ntab[${same2[0]}]}"
        elif ((${#same2[*]}>0)); then
                echo "ONE PAIR - ${ntab[${same2[0]}]}"
        elif ((straight>=0)); then
                if ((flush>=0)); then
                        if ((straight==12)); then
                                echo "ROYAL FLUSH"
                        else
                                echo "STRAIGHT FLUSH"
                        fi
                else
                        echo "STRAIGHT"
                fi
        elif ((flush>=0)); then
                echo "FLUSH"
        else
                echo "NO PAIR"
        fi
}

# Tests
match 14 45 0 11 49  # NO PAIR
match 51 13 39 9 50  # ONE PAIR
match 34 21 1 11 50  # TWO PAIR
match 8 3 21 22 34   # THREE OF A KIND
match 51 24 36 9 21  # STRAIGHT
match 1 3 5 7 9      # FLUSH
match 5 18 31 15 28  # FULL HOUSE
match 10 9 22 35 48  # FOUR OF A KIND
match 1 2 3 4 5      # STRAIGHT FLUSH
match 12 11 10 9 8   # ROYAL FLUSH

# Random draw
#match $(shuf -e -n 5 {0..51})

shuf=({0..51})
cards=()
for i in 0 1 2 3 4; do
        j=$((RANDOM%${#shuf[*]}))
        cards+=(${shuf[$j]})
        unset shuf[$j]
done
match "${cards[@]}"

Вывод:

$ ./card.sh 
   ♥3   ♣8   ♦2   ♦K   ♣Q
NO PAIR
   ♣A   ♥2   ♣2   ♦J   ♣K
ONE PAIR - 2
   ♠10   ♥10   ♦3   ♦K   ♣K
TWO PAIR - K 10
   ♦10   ♦5   ♥10   ♥J   ♠10
THREE OF A KIND - 10
   ♣A   ♥K   ♠Q   ♦J   ♥10
STRAIGHT
   ♦3   ♦5   ♦7   ♦9   ♦J
FLUSH
   ♦7   ♥7   ♠7   ♥4   ♠4
FULL HOUSE - 7 4
   ♦Q   ♦J   ♥J   ♠J   ♣J
FOUR OF A KIND - J
   ♦3   ♦4   ♦5   ♦6   ♦7
STRAIGHT FLUSH
   ♦A   ♦K   ♦Q   ♦J   ♦10
ROYAL FLUSH
   ♠J   ♠4   ♥A   ♠6   ♣4
ONE PAIR - 4

Ошибки пятен, предложения приветствуются.

-121--118652-

Введите crontab -e для редактирования файла crontab, а затем добавьте @ reboot gtk-launch ts3/usr/share/applications и сохраните его...

Разбивка

По сути, это означает, что при каждой перезагрузке .desktop файл ts3 из папки /usr/share/applications

Дополнительная информация

Существуют некоторые другие способы сделать это, но они более сложны и являются дистро-зависимыми... Даже этот способ (самый простой способ) может не работать в зависимости от того, какой дистрибутив и даже какую версию вы установили... Для получения более полной версии запуска файла .desktop в командной строке см. на странице Спросить Ubuntu . Более подробное описание crontab см. на этой странице .

Надеюсь, что это полезно,
Интересный...

Обновить

Файл crontab хранится в разных местах для каждого дистрибутива... Для Ubuntu файл crontab хранится в следующих каталогах:
1)/etc/cron.d /
2)/etc/cron.daily /
3)/etc/cron.hourly /
4)/etc/cron.monthly /
5 )/etc/cron.weekly/
НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ НЕ УДАЛЯЙТЕ КАКИЕ-ЛИБО ФАЙЛЫ В ЭТИХ КАТАЛОГАХ
Только опытные люди должны возиться с каталогами cron ... Во всех случаях используйте crontab -e для редактирования crontab .

-121--195742-

Установите пакет "vnstat2" в разделе "Система/пакеты". Тогда иди в Status/Vnstat2. На вкладке "Сводка" отображается следующая информация:

                      rx      /      tx      /     total    /   estimated
 em1:
       Jun '15     64.34 GiB  /   10.39 GiB  /   74.73 GiB  /   98.00 GiB
     yesterday      5.30 GiB  /  373.42 MiB  /    5.66 GiB
         today      2.90 GiB  /  197.29 MiB  /    3.09 GiB  /    3.52 GiB

Для получения ежемесячной статистики по определенному интерфейсу можно также использовать "vnstat -i em1 -m".

(vnstat также доступен для Linux, где я узнал о нем)

0
28.01.2020, 01:47

SNMP (Простой протокол управления сетью)является одним из типичных способов измерения сетевого трафика. На этой странице описаны некоторые аспекты использования SNMP в сочетании с pfSense.

На самом деле в этом примере я использую компонент bsnmpgetреализации SNMP bsnmpdFreeBSD, но почти любой пакет SNMP позволит вам делать такие вещи, как:

$ # query the number of interfaces present:
$ bsnmpget ifNumber.0
ifNumber.0 = 6
$ for iface in $(jot $(bsnmpget -o quiet ifNumber.0))
do
     bsnmpget ifName[$iface]
     bsnmpget ifInOctets[$iface]
     bsnmpget ifOutOctets[$iface]
     printf -- '--\n'
done
ifName[1] = em0
ifInOctets[1] = 1430450040
ifOutOctets[1] = 2237124338
--
ifName[2] = lo0
ifInOctets[2] = 46500610
ifOutOctets[2] = 46500610
--
ifName[3] = public
ifInOctets[3] = 1407864504
ifOutOctets[3] = 2237124186
--
ifName[4] = vlan1
ifInOctets[4] = 6933941
ifOutOctets[4] = 0
--
ifName[5] = vlan3
ifInOctets[5] = 5776832
ifOutOctets[5] = 152
--
ifName[6] = vm-public
ifInOctets[6] = 714355313
ifOutOctets[6] = 0
--
0
28.01.2020, 01:47

Теги

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