дешифровка оператора Unix

Существует no one-all решение. Каждая программа использует свой собственный способ соединиться с прокси-сервером.

У меня есть подобная проблема в моем офисе. Я нашел, что лучший способ сделать это должно использовать соединение VPN. Когда Вы соединитесь, целый трафик сети системы пройдет VPN. Если у Вас нет доступа к серверу VPN, можно выполнить новый вручную и подключить его к прокси-серверу, который Вы имеете.

Если у Вас есть приложение, которое не поддерживает прокси, можно использовать что-то как socksify, для обертывания его сетевого соединения.

4
17.11.2018, 02:20
3 ответа

Это собирается перечислить все непетлевые IP-адреса в системе. Принятие Вас только имеет один непетлевой IP-адрес на этом поле, это собирается экспортировать IP-адрес системы к переменной среды "IP".

Запустите путем выполнения конвейера один "раздел" за один раз. Значение, первый показ

/sbin/ifconfig

видеть то, что это делает. Затем выполненный...

/sbin/ifconfig | grep 'inet addr:'

и продолжайте идти оттуда.

15
27.01.2020, 20:44
  • 1
    Хорошая идея для нового человека ступить посредством команд как это. +1 –  n0pe 08.09.2011, 05:49

Существует большое продолжение. Во-первых:

export IP=`...`

средства выполнить команду между одинарными левыми кавычками (не одинарные кавычки, быть осторожным) и использование это производится как значение переменной, названной "IP". "экспорт" означает, что любые дочерние процессы наследуют переменную, названную "IP" и его значением.

Команда является конвейером, stdout каждого питания в stdin следующего. /sbin/ifconfig производит список информации о сетевых интерфейсах. Все строки вывода ifconfig питаются в grep 'inet addr:'. Grep просто передает строки текста через тот по крайней мере частично соответствие первый аргумент, шаблон, названный регулярным выражением.

Команда grep -v '127.0.0.1' только строки передач текста, которые не соответствуют. 127.0.0.1 "цикл назад" IP-адрес. Это известно, мы не хотим, чтобы это вошло в значение переменной, названной "IP".

Команда cut -d: -f2 печатает второе поле каждой строки в ее входе. Поля разграничены ':' (точки с запятой). awk '{print $1}' управляйте просто печатает разграниченный столбец первого пробела.

Как TheDude пишет, он помещает все непетлевые IP-адреса как строки в значение IP переменной среды оболочки.

5
27.01.2020, 20:44

Просто примечание: С тех пор ifconfig обычно отображает больше чем одно соединение (в дополнение к закольцованному соединению), этот код создает единственную строковую переменную с каждым IP-адресом, разделенным от следующего новой строкой. Мой похож на это:

bigbird@sananda:~/pq$ export IP=`/sbin/ifconfig | grep 'inet addr:'|\
grep -v '127.0.0.1'| cut -d: -f2 | awk '{print $1}'`
bigbird@sananda:~/pq$ echo "[${IP}]"
[192.168.126.1
192.168.114.1
192.168.1.2]
bigbird@sananda:~/pq$

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

Один способ обработать это состоял бы в том, чтобы поместить строки IP-адреса в элементы массива для запуска с:

export IP=($(/sbin/ifconfig | grep 'inet addr:'|grep -v '127.0.0.1'| cut -d: -f2 |\
awk  '{printf "%s ", $1}'))

for (( I=0; I<${#IP[@]}; I++ ))
do
  echo "${I} [${IP[${I}]}]"
done

bigbird@sananda:~/bin$ mytest
0 [192.168.126.1]
1 [192.168.114.1]
2 [192.168.1.2]
bigbird@sananda:~/bin$ 

Добавленные parens () превращают вывод в элементы массива. Печать была изменена на printf, чтобы добавить пробел (символ разделителя удара по умолчанию) после каждого IP и устранить новые строки. Нотация обратной галочки:

`...`

для того, чтобы превратить вывод команды в строку был также заменен более новым $ синтаксиса (...).

Для цикла включен только для показа результатов и одного способа получить доступ к ним.

4
27.01.2020, 20:44

Теги

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