Отправьте трафик в сам по физической сети на Ubuntu

Perl был бы излишеством здесь.

find . -maxdepth 1 -mindepth 1 | wc -l

(лучше используйте grep -c / вместо wc -l в случае, если некоторые имена файлов имеют символы новой строки в них).

Или с GNU ls:

ls -A | wc -l

С zsh:

f=(*(D))
echo $#f

Удалить тот:

... | tail -n +2 | wc -l

Или:

n=$(... | wc -l); echo "$(($n - 1))"

С жемчугом можно использовать -n или -p флаг:

... | perl -lpe '--$_'

Выше этого --$_ выражение оценено и содержание $_ переменная распечатана для каждой строки входа.

6
29.03.2014, 02:42
2 ответа
[116345]Я еще не пробовал, но думаю, что есть несколько возможностей для обходных путей:

виртуальные машины

Решить проблему IP стека, отделив хотя бы одну из сетевых карт от IP стека хоста: Назначить его виртуальной машине. Однако для тестов производительности это может оказаться нежелательным. Но если мощности процессора достаточно, то, возможно, дополнительный программный уровень не станет узким местом (но откуда вы знаете?).

различные целевые адреса

Вы хотите, чтобы пакет, переданный на второй уровень, передавался только для теста производительности сетевой карты, я полагаю. Таким образом, вы можете использовать IP-пакеты с другим IP-адресом (нелокальный, чтобы пакеты в любом случае отправлялись по проводу). А потом вы обманываете: вы используете [116688]ip neigh[116689] для создания постоянной записи ARP, которая сопоставляет этот фальшивый IP-адрес с MAC-адресами других сетевых карт.

Таким образом, вы даже можете создавать IP-соединения. Но вам придется использовать [116690]iptables[116691] с [116692]SNAT[116693] и [116694]DNAT[116695], чтобы обе сетевые карты поверили, что они разговаривают с одним из двух необходимых фальшивых IP.

raw access

Если вы хотите выполнить какое-то нетривиальное программирование, то вы можете открыть raw sockets и создать Ethernet фреймы самостоятельно. Это, вероятно, будет самым быстрым решением.[116360]

2
27.01.2020, 20:29

На самом деле, кажется, система более пострадала, что журнал говорил!
Может быть, из-за папки DEV, может быть, SymLinks ... не знаю, но после ползания форумами и т. Д. И попробовать папку по папке, я наконец сохранил сервер с

for package in $(rpm -qa); do rpm --setperms $package; done

специальным THX для @Gilles и его превосходный ответ
Особый нет Thx! @dhag для редактирования моего вопроса до удаления моей вежливости формулы

-121--139522-

Создайте пространство имен сети и переместите один из интерфейсов в него:

ip netns add test
ip link set eth1 netns test

Запустите оболочку в новом пространстве имен:

ip netns exec test bash

затем продолжайте, как если бы у вас были два машины. Когда закончили выход из оболочки и удалите пространство имен:

ip netns del test
2
27.01.2020, 20:29

Теги

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