Вынудите getaddrinfo использовать IPv4

moreutils включает ts который делает это вполне приятно:

command | ts '[%Y-%m-%d %H:%M:%S]'

Это избавляет от необходимости цикл также, каждой строке вывода поставят метку времени это.

$ echo -e "foo\nbar\nbaz" | ts '[%Y-%m-%d %H:%M:%S]'
[2011-12-13 22:07:03] foo
[2011-12-13 22:07:03] bar
[2011-12-13 22:07:03] baz

Вы хотите знать, когда тот сервер возвратился, Вы перезапустили? Просто выполненный ping | ts , проблема решена :D.

0
05.11.2012, 10:12
2 ответа

Интересно достаточно первый вопрос, который я когда-либо задавал на этом сайте, оказалось, имел ответ, который Вы могли бы найти полезным.

Подводя итоги, файл /etc/gai.conf используется getaddrinfo () системный вызов, чтобы определить, как ответить. Для Вашего особого случая, добавляя

precedence ::ffff:0:0/96  100

в конец файла конфигурации должно быть достаточным.

0
28.01.2020, 02:53
  • 1
    Спасибо за Ваш ответ, но в моем финале CentOS 5.5, нет никакого/etc/gai.conf, я должен создать тот? –  Derui Si 16.08.2012, 12:55
  • 2
    Возможно. Согласно dpkg файл является частью libc-bin пакет, который является довольно в глубине души существенным списком пакетов в Debian... –  Shadur 16.08.2012, 13:00

Согласно странице справочника для getaddrinfo(), можно передать семейство адресов в hints параметр, таким образом, что-то как

struct addrinfo hints, *result;
int s;

memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_INET;        /* or AF_INET6 for ipv6 addresses */
s = getaddrinfo(NULL, "ftp", &hints, &result);
...

Я не попробовал это, но подход, кажется, является правильным.

1
28.01.2020, 02:53

Теги

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