Как использовать терминал Mac для определения настроек сети

Сочетания клавиш при запуске компьютера Mac

Узнайте о функциях и инструментах компьютера Mac, которые можно вызвать, удерживания нажатой одну или несколько клавиш во время запуска.

Включите компьютер Mac с процессором Apple и продолжайте удерживать кнопку питания, пока не увидите окно параметров запуска. Здесь вы можете выбрать запуск с другого диска либо запуск в безопасном режиме, воспользоваться разделом восстановления macOS и выполнить другие действия. Узнайте больше об этих параметрах, включая использование раздела восстановления macOS.

Использование сети

Средство настройки сети предлагает огромное количество информации о текущей конфигурации сети Mac. Вы можете использовать его, чтобы найти имя вашего компьютера, IP-адрес, текущую сеть WiFi и многое другое. Как следует из названия, вы также можете использовать его для изменения настроек, но мы все равно рекомендуем использовать Системные настройки для этого.

Вы можете просмотреть полный список потенциальных сетевых команд терминала Mac с помощью инструмента networksetup, набрав на терминале networksetup -help. Появится список справки с различными примерами использования инструмента для просмотра и изменения различных настроек сети.

Примеры команд настройки сети, которые вы можете использовать для просмотра информации о сети:

  • Для просмотра имени вашего компьютера Mac: networksetup -getcomputername.
  • Для просмотра списка всех сетевых подключений Mac: networksetup -listallhardwareports
  • Чтобы отобразить текущую подключенную сеть WiFi: networksetup -getairportname deviceid. Замените deviceid на идентификатор устройства из команды networksetup -listallhardwareportsports.

Get mac address of a remote computer

We can retrieve the mac addressses for a remote computer using nbtstat command.
Example:

Alternatively, We can run the below command to retrieve the mac addresses of a remote computer.

remote_computer : Full name of the remote computer or IP address
username and password are of the account on the remote computer.

If you do not want to specify the password, you can skip /p parameter. You will be prompted to enter the password and the command execution will take place after that.

Errors:

Using getmac command we can retrieve the mac addresses of the machines running windows OS only. If you try this for a Linux machine you would get the error “The RPC server is unavailable.”

If you provide incorrect password, the command would fail with the error message “Logon failure: unknown user name or bad password.

Системные сочетания клавиш

Command + R: Запуск с использованием раздела восстановления macOS.

Option + Command + R: Запуск раздела восстановления macOS через Интернет

Option: Запуск менеджера загрузки для выбора загрузочного раздела или операционной системы.

Option + Command + P + R: Сброс данных NVRAM/PRAM. Важное замечание — На Mac не должен стоять пароль прошивки EFI, поскольку в ином случае сочетание клавиш не сработает.

Shift: Запуск операционной системы в безопасном режиме.

D: Запуск диагностики Apple. Тип диагностики зависит от модели компьютера Mac.

Option + D: Запуск диагностики оборудования Apple через Интернет.

N: Запуск с сервера NetBoot, при условии, что Mac поддерживает сетевые загрузочные тома.

Command + S: Запуск в однопользовательском режиме. Работает только в macOS High Sierra и в более старых версиях ОС.

T: Запуск в режиме внешнего диска.

Command + V: Запуск в режиме подробного протоколирования.

X: Принудительная загрузка macOS, если на компьютере автоматически запускается другая операционная система система.

Предлагаем подписаться на наш канал в «Яндекс.Дзен». Там вы сможете найти эксклюзивные материалы, которых нет на сайте.

При включении компьютера client mac addr


MegaVolt © ( 2004-11-08 18:23 ) [0]

Есть приложение сервер исспользуется TServerSocket. Можно ли узнать MAC подключившегося пользователя? IP прописан явно в RemotAddress может так же просто можно получить и MAC?


MegaVolt © ( 2004-11-08 19:33 ) [1]

Попробовал SendARP пишет сетевой запрос не поддерживается. 98 похоже не поддерживает 🙁


Piter © ( 2004-11-08 20:13 ) [2]

http://rouse.front.ru/

Демонстрационная программа получения информации о компьютере на основе IP адреса
Позволяет узнать:
— Имя компьютера
— Список залогиненных пользователей
— Коментарий к компьютеру
— Провайдер (не тот который вы подумали 🙂
MAC адресс
— Домен в который входит компьютер
— Если сеть доменная то дополнительно определяет имя сервера домена и группы в которые входит текущий пользователь.


Piter © ( 2004-11-08 20:13 ) [3]

там исходник на Delphi


Piter © ( 2004-11-08 20:14 ) [4]

насчет SendARP:
«Client: Requires Windows XP or Windows 2000 Professional.
Server: Requires Windows Server 2003 or Windows 2000 Server»

Например, в локальной сети раздача интернета идет по логину, паролю на прокси сервере, но при этом дополнительно проверяется MAC адрес — так очень часто делают. И с каких пор это стало бессмысленным?


MegaVolt © ( 2004-11-09 09:08 ) [7]

Задача не очень бессмысленна если учесть пристрастие к изменению IP. Хорошо что ещё не все умеют MAC-и менять.

PiterНа счёт того что в MSDN такой функции нет ты прав. Но возможно что в MSDN уже и нету инфы про 98 🙁 Так что я посмотрел что библиотека есть и решил проверить 🙂 Большущее спасибо за ссылку.


MegaVolt © ( 2004-11-09 09:25 ) [8]

К сожалению пример только под 2k и выше 🙁

Короче я решил вопрос вот так:

function GetMAC(IP:PChar):string; // Получение MAC-адреса сетевого компьютера
const Data : string = «Test»;
var UDP_in : TSockAddrIn;
pBuf : PChar;
TableSize : DWORD;
Error : DWORD;
NumEntries: DWORD;
IpNetRow : TMibIpNetRow;
I : Integer;
MAC : string;
UDP_Socket:TSocket;
WSA_Data : TWSAData;
begin
UDP_Socket:=Socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP); // Создаём UDP-сокет
MAC:=»00-00-00-00-00-00″;
UDP_in.sin_family:=AF_INET;
UDP_in.sin_port:=htons(5232); // Шлем на любой порт
UDP_in.sin_addr.S_addr:=inet_addr(IP); // Указываем нужный адрес
if SendTo(UDP_Socket,Data,5,0,UDP_in,SizeOf(UDP_in)) > 0
then
begin
TableSize:=0;
Error:=GetIpNetTable(PTMibIpNetTable(pBuf),@TableSize,True); // first call: get memsize needed
if Error <> ERROR_NO_DATA
then
begin
GetMem(pBuf,TableSize);
Error:=GetIpNetTable(PTMibIpNetTable(pBuf),@TableSize,True); // get table pointer
if Error = NO_ERROR
then
begin
NumEntries:=PTMibIpNetTable(pBuf)^.dwNumEntries;
if NumEntries > 0
then
begin
inc(pBuf,SizeOf(NumEntries));
for I:=1 to NumEntries do
begin
IpNetRow:=PTMibIpNetRow(pBuf)^;
with IpNetRow do
if (dwAddr = inet_addr(IP))and(dwType<>2)
then MAC:=MacAddr2Str(bPhysAddr,dwPhysAddrLen);
inc(pBuf,SizeOf(IpNetRow));
end;
dec(pBuf,SizeOf(DWORD)+NumEntries*SizeOf(IpNetRow));
end;
end;
FreeMem(pBuf);
end;
end;
Result:=MAC;
CloseSocket(UDP_Socket);
end;


Verg © ( 2004-11-09 10:04 ) [9]


> [8] MegaVolt © (09.11.04 09:25)

Во-первых. Если ты хочешь найти в арп кеше запись подключившегося клиента, то зачем спрашивается отправлять ему какие-то UDP датаграммы? Подключение-то уже произошло и значит, обмен IP пакетами уже произошел. Т.о. в арп-кеше либо уже есть инф-ция о клиенте, либо ее нет. Если нет, то и никогда не будет. Хоть запосылайся UDP. Просто клиент в другом сегменте.
Во-вторых. Если задача не из разряда «учебных» и если речь идет об авторизации, то еще раз посоветую — не трать сил попусту. Привязка ip-mac еще ничего, кроме неудобств не приносила. Это как привязка софта с серийнику аппартуры. Лучше уж потратиться на какой-либо криптоалгоритм авторизации или вообще шифрования. И знаний прибавится и система будет гибче на порядок. У нас в городе, например, по-моему всего один провайдер остался, у которого все еще ip-mac привязка осталась. Да и то как «копчик».
Все ушли на VPN. Нет, можно напрямую работать, но
«п.2.3.7. В целях предотвращения несанкционированного доступа злоумышленников в Сеть с реквизитами Абонента, Абонент должен использовать систему авторизации. Если система авторизации Абонентом не использовалась, претензии по начисленному на Лицевой Счет Абонента объему трафика не принимаются. Система авторизации и статистика работы системы авторизации предоставляется Абоненту Оператором кабельных сетей.»
В данный момент Вы можете воспользоваться для защиты либо программой авторизации, либо установить VPN-тоннелирование (с точки зрения п.2.3.7 Регламента приравнивается к системе авторизации).


MegaVolt © ( 2004-11-09 11:25 ) [10]

VergСпасибо за ответ 🙂
1. Задача сейчас поймать хулиганов в чате. Для этого был нарисован прозрачный экран который анализирует пакеты и плохие пихает в логи 🙂 Чтобы понять кто это гадит нуна знать IP и желательно MAC. Вот для того чтобы можно было поймать и надавать по ушам и делаю поиск мака.

2. Ты пишешь что не обязательно посылать запрос. Т.е. всё что связано с сокетом я могу просто удалить и оставить просто работу с таблицей?


MegaVolt © ( 2004-11-09 11:27 ) [11]

VergСпасибо за ответ 🙂
1. Задача сейчас поймать хулиганов в чате. Для этого был нарисован прозрачный экран который анализирует пакеты и плохие пихает в логи 🙂 Чтобы понять кто это гадит нуна знать IP и желательно MAC. Вот для того чтобы можно было поймать и надавать по ушам и делаю поиск мака.

2. Ты пишешь что не обязательно посылать запрос. Т.е. всё что связано с сокетом я могу просто удалить и оставить просто работу с таблицей?


Verg © ( 2004-11-09 11:47 ) [12]


> Т.е. всё что связано с сокетом я могу просто удалить и оставить
> просто работу с таблицей?

Все, что связано с UDP сокетом.

Непосредственно после подключения клиента проси арп кеш (GetIpNetTable) и ищи в нем Socket.RemoteAddress.
Арп кеш чистится: из него удаляются записи, которыми не пользовались в течение 30 сек, по-моему. Так что, «клювом щелкать» не рекомендуется.


Rouse_ © ( 2004-11-09 13:02 ) [13]

Собственно говоря пример получения MAC адреса из ARP таблицы по совету [12] Verg © , как раз тут и лежит: > [2] Piter © (08.11.04 20:13)

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector