Если вам нужны только счетчики для определенного протокола, то вы можете создать правило iptables для приема этих пакетов, и оно будет отслеживать, сколько пакетов и байтов соответствует правилу.
Если вам нужны пакеты на UDP порт 44, команда iptables будет выглядеть следующим образом:
iptables -A INPUT -i eth0 -p udp --dport 44 -j ACCEPT
Если вам нужны более подробные данные об этих пакетах, то, как сказал Джед Дэниелс, tcpdump
будет вашим лучшим выбором.
tcpdump -nei eth0 udp port 44
Для этого не нужно использовать expect
. Команда ssh
может принимать дополнительные аргументы команд, которые вы хотите запустить через SSH-соединение.
Настройте пару ключей SSH (погуглите )и затем скопируйте ключ SSH на удаленный сервер. Для этого я бы рекомендовал использовать ssh-copy-id
. См. мой ответ на этот вопрос и ответ U&L под названием:Как правильно копировать закрытые ключи с удаленных серверов на мою локальную машину, чтобы я мог подключаться с помощью ssh .
Теперь, когда есть возможность подключиться по SSH к серверу с помощью ключа, ваша вышеуказанная проблема превращается в эту:
$ ssh root@129.0.0.10 "ls -la; ps -af"
Вы можете проявить фантазию и использовать здесь документы (heredocs aka.здесь -docs)для дальнейшего улучшения этой техники.
$ ssh root@129.0.0.10 <<EOF
> ls -la
> ps -af
> EOF
или поместите команды в файл и передайте ихssh
:
$ ssh root@129.0.0.10 < my.cmds