Сделать curl-загрузку с использованием адреса IPv6 для обеспечения конфиденциальности?

В системах buntu обычные пользователи (например, пользователи пользователей) имеют UID, начинающиеся с 1000, которые последовательно назначаются им, когда их учетные записи сначала создаются. Все это сводится к тому, что первая учетная запись, созданная в системе buntu, имеет UID 1000. Следующий созданный имеет UID 1001. И так далее и т. Д.

Итак, самый простой способ перечисления всех учетных записей пользователей, присутствующих в системе, на мой взгляд, заключается в проверке, является ли третий столбец в файле /etc/passwd, который содержит UID пользователя, больше или равен 1000 и меньше, скажем, 2000 (например, очень маловероятно, чтобы обычный настольный ПК имел более тысячи учетных записей пользователей, не так ли?):

$ awk -F$':' '{ if ($3 >= 1000 && $3 < 2000) print $1; }' /etc/passwd
3
задан 30 June 2011 в 01:33

18 ответов

Я использовал ответ ajmitch и некоторые сценарии для этого. (Если у кого-то есть лучший способ получить адрес, я был бы рад услышать его.) Вам нужно будет установить curl

#! /bin/sh
# (C) 2011 Erik B. Andersen <erik.b.andersen@gmail.com>
# Licensed under the latest version of the GPL as published by the Free Software Foundation

# Don't bother to reload when lo is configured.
if [ "$IFACE" = lo ]; then
        echo "Interface lo; skipping"
        exit 0
fi

if [ ! -e /usr/bin/curl ]; then
        echo "Curl not installed; skipping"
        exit 0
fi
if [ ! -e /sbin/ifconfig ]; then
        echo "Ifconfig not installed; skipping"
        exit 0
fi
if [ ! -e /bin/grep ]; then
        echo "Grep not installed; skipping"
        exit 0
fi
if [ ! -e /usr/bin/tr ]; then
        echo "Tr not installed; skipping"
        exit 0
fi
if [ ! -e /usr/bin/tail ]; then
        echo "Tail not installed; skipping"
        exit 0
fi

Hostname="something.example.org"
Password="something"
Interface="wlan0"

echo "Running curl"
curl --interface $(/sbin/ifconfig ${Interface} | /bin/grep "Global" | /usr/bin/tr "/" "\n" | /usr/bin/tr " " "\n" | /bin/grep "ff:fe"| /usr/bin/tail -n 1) -6 http://${Hostname}:${Password}@dyn.dns.he.net/nic/update?hostname=${Hostname}

exit 0
1
ответ дан 25 May 2018 в 20:19

Я использовал ответ ajmitch и некоторые сценарии для этого. (Если у кого-то есть лучший способ получить адрес, я был бы рад услышать его.) Вам нужно будет установить curl

#! /bin/sh # (C) 2011 Erik B. Andersen <erik.b.andersen@gmail.com> # Licensed under the latest version of the GPL as published by the Free Software Foundation # Don't bother to reload when lo is configured. if [ "$IFACE" = lo ]; then echo "Interface lo; skipping" exit 0 fi if [ ! -e /usr/bin/curl ]; then echo "Curl not installed; skipping" exit 0 fi if [ ! -e /sbin/ifconfig ]; then echo "Ifconfig not installed; skipping" exit 0 fi if [ ! -e /bin/grep ]; then echo "Grep not installed; skipping" exit 0 fi if [ ! -e /usr/bin/tr ]; then echo "Tr not installed; skipping" exit 0 fi if [ ! -e /usr/bin/tail ]; then echo "Tail not installed; skipping" exit 0 fi Hostname="something.example.org" Password="something" Interface="wlan0" echo "Running curl" curl --interface $(/sbin/ifconfig ${Interface} | /bin/grep "Global" | /usr/bin/tr "/" "\n" | /usr/bin/tr " " "\n" | /bin/grep "ff:fe"| /usr/bin/tail -n 1) -6 http://${Hostname}:${Password}@dyn.dns.he.net/nic/update?hostname=${Hostname} exit 0
1
ответ дан 25 July 2018 в 21:43

Я использовал ответ ajmitch и некоторые сценарии для этого. (Если у кого-то есть лучший способ получить адрес, я был бы рад услышать его.) Вам нужно будет установить curl

#! /bin/sh # (C) 2011 Erik B. Andersen <erik.b.andersen@gmail.com> # Licensed under the latest version of the GPL as published by the Free Software Foundation # Don't bother to reload when lo is configured. if [ "$IFACE" = lo ]; then echo "Interface lo; skipping" exit 0 fi if [ ! -e /usr/bin/curl ]; then echo "Curl not installed; skipping" exit 0 fi if [ ! -e /sbin/ifconfig ]; then echo "Ifconfig not installed; skipping" exit 0 fi if [ ! -e /bin/grep ]; then echo "Grep not installed; skipping" exit 0 fi if [ ! -e /usr/bin/tr ]; then echo "Tr not installed; skipping" exit 0 fi if [ ! -e /usr/bin/tail ]; then echo "Tail not installed; skipping" exit 0 fi Hostname="something.example.org" Password="something" Interface="wlan0" echo "Running curl" curl --interface $(/sbin/ifconfig ${Interface} | /bin/grep "Global" | /usr/bin/tr "/" "\n" | /usr/bin/tr " " "\n" | /bin/grep "ff:fe"| /usr/bin/tail -n 1) -6 http://${Hostname}:${Password}@dyn.dns.he.net/nic/update?hostname=${Hostname} exit 0
1
ответ дан 31 July 2018 в 13:33

Я использовал ответ ajmitch и некоторые сценарии для этого. (Если у кого-то есть лучший способ получить адрес, я был бы рад услышать его.) Вам нужно будет установить curl

#! /bin/sh # (C) 2011 Erik B. Andersen <erik.b.andersen@gmail.com> # Licensed under the latest version of the GPL as published by the Free Software Foundation # Don't bother to reload when lo is configured. if [ "$IFACE" = lo ]; then echo "Interface lo; skipping" exit 0 fi if [ ! -e /usr/bin/curl ]; then echo "Curl not installed; skipping" exit 0 fi if [ ! -e /sbin/ifconfig ]; then echo "Ifconfig not installed; skipping" exit 0 fi if [ ! -e /bin/grep ]; then echo "Grep not installed; skipping" exit 0 fi if [ ! -e /usr/bin/tr ]; then echo "Tr not installed; skipping" exit 0 fi if [ ! -e /usr/bin/tail ]; then echo "Tail not installed; skipping" exit 0 fi Hostname="something.example.org" Password="something" Interface="wlan0" echo "Running curl" curl --interface $(/sbin/ifconfig ${Interface} | /bin/grep "Global" | /usr/bin/tr "/" "\n" | /usr/bin/tr " " "\n" | /bin/grep "ff:fe"| /usr/bin/tail -n 1) -6 http://${Hostname}:${Password}@dyn.dns.he.net/nic/update?hostname=${Hostname} exit 0
1
ответ дан 2 August 2018 в 03:19

Я использовал ответ ajmitch и некоторые сценарии для этого. (Если у кого-то есть лучший способ получить адрес, я был бы рад услышать его.) Вам нужно будет установить curl

#! /bin/sh # (C) 2011 Erik B. Andersen <erik.b.andersen@gmail.com> # Licensed under the latest version of the GPL as published by the Free Software Foundation # Don't bother to reload when lo is configured. if [ "$IFACE" = lo ]; then echo "Interface lo; skipping" exit 0 fi if [ ! -e /usr/bin/curl ]; then echo "Curl not installed; skipping" exit 0 fi if [ ! -e /sbin/ifconfig ]; then echo "Ifconfig not installed; skipping" exit 0 fi if [ ! -e /bin/grep ]; then echo "Grep not installed; skipping" exit 0 fi if [ ! -e /usr/bin/tr ]; then echo "Tr not installed; skipping" exit 0 fi if [ ! -e /usr/bin/tail ]; then echo "Tail not installed; skipping" exit 0 fi Hostname="something.example.org" Password="something" Interface="wlan0" echo "Running curl" curl --interface $(/sbin/ifconfig ${Interface} | /bin/grep "Global" | /usr/bin/tr "/" "\n" | /usr/bin/tr " " "\n" | /bin/grep "ff:fe"| /usr/bin/tail -n 1) -6 http://${Hostname}:${Password}@dyn.dns.he.net/nic/update?hostname=${Hostname} exit 0
1
ответ дан 4 August 2018 в 19:16

Я использовал ответ ajmitch и некоторые сценарии для этого. (Если у кого-то есть лучший способ получить адрес, я был бы рад услышать его.) Вам нужно будет установить curl

#! /bin/sh # (C) 2011 Erik B. Andersen <erik.b.andersen@gmail.com> # Licensed under the latest version of the GPL as published by the Free Software Foundation # Don't bother to reload when lo is configured. if [ "$IFACE" = lo ]; then echo "Interface lo; skipping" exit 0 fi if [ ! -e /usr/bin/curl ]; then echo "Curl not installed; skipping" exit 0 fi if [ ! -e /sbin/ifconfig ]; then echo "Ifconfig not installed; skipping" exit 0 fi if [ ! -e /bin/grep ]; then echo "Grep not installed; skipping" exit 0 fi if [ ! -e /usr/bin/tr ]; then echo "Tr not installed; skipping" exit 0 fi if [ ! -e /usr/bin/tail ]; then echo "Tail not installed; skipping" exit 0 fi Hostname="something.example.org" Password="something" Interface="wlan0" echo "Running curl" curl --interface $(/sbin/ifconfig ${Interface} | /bin/grep "Global" | /usr/bin/tr "/" "\n" | /usr/bin/tr " " "\n" | /bin/grep "ff:fe"| /usr/bin/tail -n 1) -6 http://${Hostname}:${Password}@dyn.dns.he.net/nic/update?hostname=${Hostname} exit 0
1
ответ дан 6 August 2018 в 03:30

Я использовал ajmitch 's answer и некоторые сценарии для этого. (Если у кого-то есть лучший способ получить адрес, я был бы рад услышать его.) Вам нужно будет установить curl

  #!  / bin / sh # (C) 2011 Эрик Б. Андерсен & lt; erik.b.andersen@gmail.com>  # Лицензируется в соответствии с последней версией GPL, опубликованной Free Software Foundation # Не беспокойтесь, чтобы перезагрузить, когда lo настроен.  если ["$ IFACE" = lo];  затем эхо «Интерфейс lo; пропуская» выход 0 fi, если [!  -e / usr / bin / curl];  затем эхо «Curl not installed; skipping» exit 0 fi if [!  -e / sbin / ifconfig];  затем echo «Ifconfig не установлен, пропуская» выход 0 fi, если [!  -e / bin / grep];  затем эхо «Греп не установлен, пропуская» выход 0 fi, если [!  -e / usr / bin / tr];  затем эхо «Tr не установлено, пропуская» выход 0 fi, если [!  -e / usr / bin / tail];  затем echo «Tail not installed; skipping» exit 0 fi Hostname = «something.example.org» Пароль = «что-то» Интерфейс = «wlan0» echo «Запуск curl» curl --interface $ (/ sbin / ifconfig $ {Interface}  | / bin / grep "Global" | / usr / bin / tr "/" "\n" | / usr / bin / tr "" "\n" | / bin / grep "ff: fe" | / usr / bin  / tail -n 1) -6 http: // $ {Hostname}: $ {Password} @ dyn.dns.he.net / nic / update? hostname = $ {Hostname} exit 0  
1
ответ дан 7 August 2018 в 21:17

Я использовал ajmitch 's answer и некоторые сценарии для этого. (Если у кого-то есть лучший способ получить адрес, я был бы рад услышать его.) Вам нужно будет установить curl

  #!  / bin / sh # (C) 2011 Эрик Б. Андерсен & lt; erik.b.andersen@gmail.com>  # Лицензируется в соответствии с последней версией GPL, опубликованной Free Software Foundation # Не беспокойтесь, чтобы перезагрузить, когда lo настроен.  если ["$ IFACE" = lo];  затем эхо «Интерфейс lo; пропуская» выход 0 fi, если [!  -e / usr / bin / curl];  затем эхо «Curl not installed; skipping» exit 0 fi if [!  -e / sbin / ifconfig];  затем echo «Ifconfig не установлен, пропуская» выход 0 fi, если [!  -e / bin / grep];  затем эхо «Греп не установлен, пропуская» выход 0 fi, если [!  -e / usr / bin / tr];  затем эхо «Tr не установлено, пропуская» выход 0 fi, если [!  -e / usr / bin / tail];  затем echo «Tail not installed; skipping» exit 0 fi Hostname = «something.example.org» Пароль = «что-то» Интерфейс = «wlan0» echo «Запуск curl» curl --interface $ (/ sbin / ifconfig $ {Interface}  | / bin / grep "Global" | / usr / bin / tr "/" "\n" | / usr / bin / tr "" "\n" | / bin / grep "ff: fe" | / usr / bin  / tail -n 1) -6 http: // $ {Hostname}: $ {Password} @ dyn.dns.he.net / nic / update? hostname = $ {Hostname} exit 0  
1
ответ дан 10 August 2018 в 09:36

Я использовал ajmitch 's answer и некоторые сценарии для этого. (Если у кого-то есть лучший способ получить адрес, я был бы рад услышать его.) Вам нужно будет установить curl

  #!  / bin / sh # (C) 2011 Эрик Б. Андерсен & lt; erik.b.andersen@gmail.com>  # Лицензируется в соответствии с последней версией GPL, опубликованной Free Software Foundation # Не беспокойтесь, чтобы перезагрузить, когда lo настроен.  если ["$ IFACE" = lo];  затем эхо «Интерфейс lo; пропуская» выход 0 fi, если [!  -e / usr / bin / curl];  затем эхо «Curl not installed; skipping» exit 0 fi if [!  -e / sbin / ifconfig];  затем echo «Ifconfig не установлен, пропуская» выход 0 fi, если [!  -e / bin / grep];  затем эхо «Греп не установлен, пропуская» выход 0 fi, если [!  -e / usr / bin / tr];  затем эхо «Tr не установлено, пропуская» выход 0 fi, если [!  -e / usr / bin / tail];  затем echo «Tail not installed; skipping» exit 0 fi Hostname = «something.example.org» Пароль = «что-то» Интерфейс = «wlan0» echo «Запуск curl» curl --interface $ (/ sbin / ifconfig $ {Interface}  | / bin / grep "Global" | / usr / bin / tr "/" "\n" | / usr / bin / tr "" "\n" | / bin / grep "ff: fe" | / usr / bin  / tail -n 1) -6 http: // $ {Hostname}: $ {Password} @ dyn.dns.he.net / nic / update? hostname = $ {Hostname} exit 0  
1
ответ дан 13 August 2018 в 15:46

Вы можете заставить curl использовать определенный адрес источника с опцией --interface curl, например

curl --interface 2001:db8::f00:1234 http://example.com/updatedns.html

2
ответ дан 25 May 2018 в 20:19
  • 1
    Это может сработать, но я должен был бы сделать какой-то скрипт, чтобы определить адрес, чтобы сказать завиток. Я как бы надеялся найти способ использовать адрес, не связанный с неприкосновенностью частной жизни, без написания сценария, чтобы решить, что именно. – Azendale 22 June 2011 в 18:46
  • 2
    На самом деле нет способа сделать это, так как интерфейс может иметь несколько глобальных адресов, и я не считаю, что curl в настоящее время позволяет предпочесть публичные адреса вместо временного адреса, кроме как вручную привязки к определенному интерфейсу / IP-адресу – ajmitch 24 June 2011 в 03:56
  • 3
    Не возражаете, если я отредактирую ваш ответ со сценарием, который я собрал, чтобы это был полный ответ на мою проблему? Затем вы можете отредактировать сценарий, если считаете, что есть лучший способ сделать это. – Azendale 30 June 2011 в 01:31
  • 4
    @Azendale: вы можете создать новый ответ, который вы принимаете, но повысите его, потому что он вам помог. – Lekensteyn 30 June 2011 в 02:27

Вы можете заставить curl использовать определенный адрес источника с опцией --interface curl, например

curl --interface 2001:db8::f00:1234 http://example.com/updatedns.html

2
ответ дан 25 July 2018 в 21:43
  • 1
    Это может сработать, но я должен был бы сделать какой-то скрипт, чтобы определить адрес, чтобы сказать завиток. Я как бы надеялся найти способ использовать адрес, не связанный с неприкосновенностью частной жизни, без написания сценария, чтобы решить, что именно. – Azendale 22 June 2011 в 18:46
  • 2
    На самом деле нет способа сделать это, так как интерфейс может иметь несколько глобальных адресов, и я не считаю, что curl в настоящее время позволяет предпочесть публичные адреса вместо временного адреса, кроме как вручную привязки к определенному интерфейсу / IP-адресу – ajmitch 24 June 2011 в 03:56
  • 3
    Не возражаете, если я отредактирую ваш ответ со сценарием, который я собрал, чтобы это был полный ответ на мою проблему? Затем вы можете отредактировать сценарий, если считаете, что есть лучший способ сделать это. – Azendale 30 June 2011 в 01:31
  • 4
    @Azendale: вы можете создать новый ответ, который вы принимаете, но повысите его, потому что он вам помог. – Lekensteyn 30 June 2011 в 02:27

Вы можете заставить curl использовать определенный адрес источника с опцией --interface curl, например

curl --interface 2001:db8::f00:1234 http://example.com/updatedns.html

2
ответ дан 31 July 2018 в 13:33
  • 1
    Это может сработать, но я должен был бы сделать какой-то скрипт, чтобы определить адрес, чтобы сказать завиток. Я как бы надеялся найти способ использовать адрес, не связанный с неприкосновенностью частной жизни, без написания сценария, чтобы решить, что именно. – Azendale 22 June 2011 в 18:46
  • 2
    На самом деле нет способа сделать это, так как интерфейс может иметь несколько глобальных адресов, и я не считаю, что curl в настоящее время позволяет предпочесть публичные адреса вместо временного адреса, кроме как вручную привязки к определенному интерфейсу / IP-адресу – ajmitch 24 June 2011 в 03:56
  • 3
    Не возражаете, если я отредактирую ваш ответ со сценарием, который я собрал, чтобы это был полный ответ на мою проблему? Затем вы можете отредактировать сценарий, если считаете, что есть лучший способ сделать это. – Azendale 30 June 2011 в 01:31
  • 4
    @Azendale: вы можете создать новый ответ, который вы принимаете, но повысите его, потому что он вам помог. – Lekensteyn 30 June 2011 в 02:27

Вы можете заставить curl использовать определенный адрес источника с опцией --interface curl, например

curl --interface 2001:db8::f00:1234 http://example.com/updatedns.html

2
ответ дан 2 August 2018 в 03:19
  • 1
    Это может сработать, но я должен был бы сделать какой-то скрипт, чтобы определить адрес, чтобы сказать завиток. Я как бы надеялся найти способ использовать адрес, не связанный с неприкосновенностью частной жизни, без написания сценария, чтобы решить, что именно. – Azendale 22 June 2011 в 18:46
  • 2
    На самом деле нет способа сделать это, так как интерфейс может иметь несколько глобальных адресов, и я не считаю, что curl в настоящее время позволяет предпочесть публичные адреса вместо временного адреса, кроме как вручную привязки к определенному интерфейсу / IP-адресу – ajmitch 24 June 2011 в 03:56
  • 3
    Не возражаете, если я отредактирую ваш ответ со сценарием, который я собрал, чтобы это был полный ответ на мою проблему? Затем вы можете отредактировать сценарий, если считаете, что есть лучший способ сделать это. – Azendale 30 June 2011 в 01:31
  • 4
    @Azendale: вы можете создать новый ответ, который вы принимаете, но повысите его, потому что он вам помог. – Lekensteyn 30 June 2011 в 02:27

Вы можете заставить curl использовать определенный адрес источника с опцией --interface curl, например

curl --interface 2001:db8::f00:1234 http://example.com/updatedns.html

2
ответ дан 4 August 2018 в 19:16
  • 1
    Это может сработать, но я должен был бы сделать какой-то скрипт, чтобы определить адрес, чтобы сказать завиток. Я как бы надеялся найти способ использовать адрес, не связанный с неприкосновенностью частной жизни, без написания сценария, чтобы решить, что именно. – Azendale 22 June 2011 в 18:46
  • 2
    На самом деле нет способа сделать это, так как интерфейс может иметь несколько глобальных адресов, и я не считаю, что curl в настоящее время позволяет предпочесть публичные адреса вместо временного адреса, кроме как вручную привязки к определенному интерфейсу / IP-адресу – ajmitch 24 June 2011 в 03:56
  • 3
    Не возражаете, если я отредактирую ваш ответ со сценарием, который я собрал, чтобы это был полный ответ на мою проблему? Затем вы можете отредактировать сценарий, если считаете, что есть лучший способ сделать это. – Azendale 30 June 2011 в 01:31
  • 4
    @Azendale: вы можете создать новый ответ, который вы принимаете, но повысите его, потому что он вам помог. – Lekensteyn 30 June 2011 в 02:27

Вы можете заставить curl использовать определенный адрес источника с опцией --interface curl, например

curl --interface 2001:db8::f00:1234 http://example.com/updatedns.html

2
ответ дан 6 August 2018 в 03:30
  • 1
    Это может сработать, но я должен был бы сделать какой-то скрипт, чтобы определить адрес, чтобы сказать завиток. Я как бы надеялся найти способ использовать адрес, не связанный с неприкосновенностью частной жизни, без написания сценария, чтобы решить, что именно. – Azendale 22 June 2011 в 18:46
  • 2
    На самом деле нет способа сделать это, так как интерфейс может иметь несколько глобальных адресов, и я не считаю, что curl в настоящее время позволяет предпочесть публичные адреса вместо временного адреса, кроме как вручную привязки к определенному интерфейсу / IP-адресу – ajmitch 24 June 2011 в 03:56
  • 3
    Не возражаете, если я отредактирую ваш ответ со сценарием, который я собрал, чтобы это был полный ответ на мою проблему? Затем вы можете отредактировать сценарий, если считаете, что есть лучший способ сделать это. – Azendale 30 June 2011 в 01:31
  • 4
    @Azendale: вы можете создать новый ответ, который вы принимаете, но повысите его, потому что он вам помог. – Lekensteyn 30 June 2011 в 02:27

Вы можете заставить curl использовать определенный адрес источника с опцией - interface curl, например

curl --interface 2001: db8 :: f00 : 1234 http://example.com/updatedns.html

2
ответ дан 7 August 2018 в 21:17

Вы можете заставить curl использовать определенный адрес источника с опцией - interface curl, например

curl --interface 2001: db8 :: f00 : 1234 http://example.com/updatedns.html

2
ответ дан 10 August 2018 в 09:36

Вы можете заставить curl использовать определенный адрес источника с опцией - interface curl, например

curl --interface 2001: db8 :: f00 : 1234 http://example.com/updatedns.html

2
ответ дан 13 August 2018 в 15:46
  • 1
    Это может сработать, но я должен был бы сделать какой-то скрипт, чтобы определить адрес, чтобы сказать завиток. Я как бы надеялся найти способ использовать адрес, не связанный с неприкосновенностью частной жизни, без написания сценария, чтобы решить, что именно. – Azendale 22 June 2011 в 18:46
  • 2
    На самом деле нет способа сделать это, так как интерфейс может иметь несколько глобальных адресов, и я не считаю, что curl в настоящее время позволяет предпочесть публичные адреса вместо временного адреса, кроме как вручную привязки к определенному интерфейсу / IP-адресу – ajmitch 24 June 2011 в 03:56
  • 3
    Не возражаете, если я отредактирую ваш ответ со сценарием, который я собрал, чтобы это был полный ответ на мою проблему? Затем вы можете отредактировать сценарий, если считаете, что есть лучший способ сделать это. – Azendale 30 June 2011 в 01:31
  • 4
    @Azendale: вы можете создать новый ответ, который вы принимаете, но повысите его, потому что он вам помог. – Lekensteyn 30 June 2011 в 02:27

Другие вопросы по тегам:

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