- Инструменты Kali Linux
- Список инструментов для тестирования на проникновение и их описание
- ngrok
- Описание ngrok
- Справка по ngrok
- Справка по команде authtoken
- Справка по команде credits
- Справка по команде http
- Справка по команде start
- Справка по команде tcp
- Справка по команде tls
- Справка по команде update
- Справка по команде version
- Руководство по ngrok
- Примеры запуска ngrok
- Установка ngrok
- Как поделиться своим локальным веб-сервером с Интернетом. Ngrok
- Установка Ngrok
- Одна команда в терминале делает ваш локальный сервер доступным всему интернету по специальному HTTPS адресу: обзор утилиты Ngrok
- Одна команда в терминале делает ваш локальный сервер доступным всему интернету по специальному HTTPS адресу: обзор утилиты Ngrok
- Everything About Ngrok How to use & install
- What is Ngrok?
- How does ngrok work?
- how to install ngrok
- Ngrok Commands
- Setup Ngrok Authtoken
- Credits command reference
- Ngrok Https command reference
- Start command reference
- Tcp command reference
- Tls command reference
- Update command reference
- How to use ngrok
Инструменты Kali Linux
Список инструментов для тестирования на проникновение и их описание
ngrok
Описание ngrok
Программа ngrok делает доступными в Глобальной сети локальные сервисы, даже если компьютер не имеет белого IP адреса и находится за NAT и файерволами. С помощью ngrok из Интернета будет доступен любой порт на вашем локальном компьютере будет доступен через безопасный туннель. Например, вы можете сделать так, чтобы ваш локальный веб-сервер стал доступным из Интернета по прямой ссылке без дополнительной настройке.
Как работает программа
Вы загружаете и запускаете программу на вашей машине и указываете порт сетевой службы, обычно это веб-сервер.
Программа подключается к облачной службе ngrok, которая выдаёт вам сгенерированный адрес (домен третьего уровня). Если открыть этот адрес в веб-браузере, то трафик будет перенаправлен на вашу локальную сетевую службу или на любой адрес, который вы указали.
Для чего подходит ngrok
- Демонстрация веб-сайтов без развёртывания на реальном хостинге
- Создание веб хуков на вашем компьютере для разработки ПО
- Тестирование мобильных приложений, подключённых к локально работающему бэкэнду
- Стабильные адреса для подключённых устройств, развёрнутых в полевых условиях
- Запуск персональных облачных сервисов из вашего дома
Автор: Keith Rarick
Лицензия: Apache License
Справка по ngrok
Справка по команде authtoken
authtoken сохраняет токен аутентификации в конфигурационный файл.
Команда authtoken изменяет ваш файл конфигурации, чтобы записать в него указанный authtoken. По умолчанию этот файл конфигурации находится в $HOME/.ngrok2/ngrok.yml.
Для использования многих расширенных функций службы, служба ngrok.com требует, чтобы вы зарегистрировали учётную запись. Чтобы связать вашего клиента с учётной записью, он должен передать секретный токен службе ngrok.com при запуске. Вместо того, чтобы передавать этот authtoken при каждом вызове, вы можете использовать эту команду, чтобы сохранить его в файле конфигурации, чтобы ваш клиент всегда аутентифицировал вас должным образом.
Справка по команде credits
credits печатает информацию об авторе и лицензировании.
Отображает автора, благодарности и информацию о лицензии.
Справка по команде http
http запускает HTTP туннель.
Запускает туннель, прослушивающий HTTP/HTTPS трафик с указанным именем хоста. Заголовок HTTP Host на входящих публичных запросах проверяется, чтобы определить, какой туннель ему подходит.
Конечные точки HTTPS завершают трафик TLS на сервере ngrok с помощью сертификатов ngrok.io. Затем расшифрованный HTTP-трафик направляется через безопасный туннель, а затем на ваш локальный сервер. Если вы не хотите, чтобы ваш трафик TLS заканчивался на сервере ngrok, используйте туннель TLS или TCP.
Перенаправляет субдомен ngrok.io на локальный порт 80:
Перенаправляет трафик на example.com:9000:
Запрашивает имя субдомена: ‘bar.ngrok.io’:
Запрашивает туннель ‘ex.com’ (DNS CNAME):
Запрашивает basic аутентификацию на конечной точке тоннеля:
Переписывает заголовок Host на ‘ex.com’:
Открывает доступ из интернета к локальным файлам в /var/log:
Перенаправляет на локальный https сервер:
Справка по команде start
start запускает туннель по имени из конфигурационного файла.
Запускает туннели по имени из файла конфигурации. Вы можете указать любое количество имён туннелей. Вы можете запустить все туннели из файла конфигурации, для этого укажите ключ —all.
Запустить туннель с именем в конфигурационном файле ‘dev’:
Запустить туннели ‘web’ и ‘blog’:
Запустить все туннели, определённые в конфигурационном файле:
Справка по команде tcp
tcp запускает туннель TCP.
Запускает туннель, который перенаправляет весь TCP-трафик с публичного порта на локальный адрес. Это чрезвычайно полезно для предоставления сервисов, которые работают на не HTTP-трафике (ssh, sip, rdp, игровые серверы и т. д.).
Туннель TCP связывает публичный адрес на удалённом сервере ngrok. Любые службы, которым требуется стабильный публичный адрес, должны использовать параметр —remote-addr. ngrok.com требует, чтобы вы зарезервировали адрес туннеля TCP для своей учётной записи, прежде чем сможете его использовать.
Перенаправить порт на ваш локальный сервер ssh
Предоставить RDP-сервер по определённому общедоступному адресу, который вы зарезервировали
Справка по команде tls
tls запускает туннель TLS.
Запускает туннель для прослушивания трафика TLS через порт 443 с указанным именем хоста. Поле расширения TLS SNI (Server Name Indication) в соединении TLS проверяется, чтобы определить, к какому туннелю оно подходит.
Сервер ngrok не прерывает соединения TLS, пересылаемые с помощью этой команды. Может быть использован любой базовый протокол. При желании вы можете указать пару ключ/сертификат TLS, которая будет использоваться для завершения трафика на стороне клиента до его переадресации. Если не указано, трафик будет пересылаться в зашифрованном виде.
Использование этой команды рекомендуется только с опцией -hostname. Другое использование будет работать, но всегда приведёт к предупреждениям о несоответствии сертификатов.
Пересылать трафик TLS для example.com на порт 443 (требуется CNAME)
Пересылать трафик TLS на поддомен (предупреждение о несовпадении сертификата)
Прервать трафик TLS для t.co перед пересылкой
Справка по команде update
update обновляет ngrok до последней версии.
Обновляет ngrok до последней версии. Эта команда проверяет веб-сервис ngrok на наличие более новых версий клиента ngrok. Если доступна более новая версия, то она будет загружена, будет проверена подлинность скаченного файла и текущий исполнимый файл будет заменён новым.
Для успешного обновления двоичный файл ngrok должен находиться в каталоге, доступном для записи текущему пользователю. Если вы поместили ngrok в системный PATH, вам может потребоваться запустить его с правами root или администратора.
Обновить ngrok до последней стабильной версии:
Обновить ngrok до последней бета версии:
Справка по команде version
version — print the version string
Руководство по ngrok
Страница man отсутствует.
Примеры запуска ngrok
Создать тоннель от сгенерированного поддомена, доступного по публичной ссылке, до локального порта 80 (веб-сервер):
Туннель на указанные ХОСТ:ПОРТ (foo.dev:80) вместо localhost:
Сделать доступным из Глобальной сети локальный HTTPS сервер:
Туннелирование произвольного TCP трафика на порт 22:
Создание туннеля (http) до сайта hackware.ru по протоколу https (https://hackware.ru) с заменой HTTP заголовка Host на hackware.ru (-host-header=hackware.ru):
Установка ngrok
Установка в Kali Linux
Установка в BlackArch
Программа предустановлена в BlackArch
Установка в любой дистрибутив Linux
Установка в Windows
Перейдите на страницу официального сайта и скачайте ngrok для Windows: https://ngrok.com/download
Распакуйте скаченный архив, отройте командную строку и перейдите в папку с исполнимым файлом с помощью cd, например, у меня программа помещена в папку C:\Users\MiAl\Downloads\:
Для проверки выведите справку командой:
Информация об установке в другие операционные системы будет добавлена позже.
Источник
Как поделиться своим локальным веб-сервером с Интернетом. Ngrok
Довольно часто у разработчика возникает необходимость показать свои наработки, расположенные на локальном компьютере. Если же приходится тестировать мобильные приложения, то доступ к API также нужен.
Конечно, можно купить ip-адрес, домен, хостинг, настроить всё это. Но проще, быстрее и доступнее использовать утилиту ngrok, создающую туннель к localhost.
Скачать ngrok можно по адресу: https://ngrok.com/
Программа доступна для Mac OS, Windows, Linux и FreBSD. В ограниченном режиме можно использовать бесплатно, которого, к слову сказать, хватает с лихвой в большинстве случаев.
Для начала нужно установить программу.
Установка Ngrok
Mac OS X 64-Bit:
Linux 64-Bit:
Linux 32-bit:
FreeBSD 64-Bit:
FreeBSD 32-Bit:
Например, для Xubuntu:
Если выдаёт ошибку, проверьте права на запись файлов в указанной директории.
Далее необходимо распаковать архив. В нашем случае с Xubuntu:
Или сделать распаковку в окне:
Теперь перемещаем утилиту:
Затем даём права на запуск скрипта:
Вывести помощь в терминале можно командой:
Создание туннеля в простейшем варианте (обратите внимание на порт, обычно он 80, у мена 8000):
Где http://370f2cc5.ngrok.io уникальный адрес в Интернет.
Можно в hosts файл прописать домен, например, mysite.local, после чего запустить туннель:
Если зарегистрироваться, то:
- будет доступ через SSL
- появится возможность защиты туннеля паролем
- станет доступен выбор поддоменов с резервированием
- будет возможно туннелирование TCP и UDP
Источник
Одна команда в терминале делает ваш локальный сервер доступным всему интернету по специальному HTTPS адресу: обзор утилиты Ngrok
Одна команда в терминале делает ваш локальный сервер доступным всему интернету по специальному HTTPS адресу: обзор утилиты Ngrok
У вас есть локальный сервер, на котором вы ведете всю разработку, а её результаты показываете, загружая код на хостинг или скидывая заказчику скриншоты — забудьте об этом.
Вашу проблему решает ngrok — простейшая утилита для создания туннеля к localhost.
С её использованием справится даже новичок, для создания туннеля достаточно выполнить следующую команду:
… где 80 — это порт, на котором запущен ваш веб-сервер. 80 является портом по-умолчанию для многих серверов, так что скорее всего всё заработает без изменений. В ответ получите на экран вывод следующего типа:
Где 5057493e.ngrok.io — это адрес, по которому ваш локальный сервер стал доступен в интернете.
Если ваш сервер открывается не по адресу http://localhost/ , а на него через файл hosts назначен домен, например, mysite.dev , то запустить ngrok для него не сильно сложнее.
Вам поможет следующая команда:
…где 80 является портом вашего сервера, а mysite.dev доменом, по которому он отвечает.
23 августа – 31 октября, Онлайн, Беcплатно
Ngrok доступ для Linux, Mac, Windows и FreeBSD. Со всеми возможностями программы можно ознакомиться в документации.
Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.
Перейти к регистрации
Источник
Everything About Ngrok How to use & install
Last Updated on April 18, 2021 by Walid Salame Leave a Comment
Ngrok is a platform that, using the installed utility, allows you to organize remote access to a web server or some other service running on a PC. Access is organized through the secure tunnel created when ngrok starts. At the same time, the PC can be behind NAT and not have a static IP address.
It is not at all necessary to drag the test project somewhere else, you can show it to the customer directly from the local machine, or, for example, using Ngrok, you can very easily share files on your PC.
What is Ngrok?
The ngrok tool makes local services available on the global network, even if the computer does not have a static IP address and is behind NAT and firewalls.
With ngrok, any port on your local computer will be accessible from the Internet through a secure tunnel. For example, you can make your local web server accessible from the Internet via a direct link without additional configuration.
How does ngrok work?
You download and run a tool on your machine and specify the port of a network service, usually a web server.
The program connects to the ngrok cloud service, which gives you a generated address (third-level domain). If you open this address in a web browser, then the traffic will be redirected to your local network service or to any address that you specify.
What is ngrok used for?
- Demonstration of websites without deployment on real hosting
- Creating web hooks on your computer for software development
- Testing mobile apps connected to a locally running backend
- Stable addresses for connected devices deployed in the field
- Launch personal cloud services from your home
how to install ngrok
Installation on Kali Linux
to install ngrok in Kali Linux first we need to download Ngrok from terminal
Ngrok Commands
What are the most important commands and how to use them
Setup Ngrok Authtoken
Authtoken command reference
authtoken stores the authentication token in a config file.
Using: ngrok TOKEN [COMMAND OPTIONS] [ARGUMENTS …]
The authtoken command modifies your config file to write the specified authtoken to it. By default, this config file is located at $ HOME / .ngrok2 / ngrok.yml .
To use many of the advanced features of the service, the ngrok.com service requires you to register for an account. To associate your client with an account, they must pass a secret token to the ngrok.com service at startup. Instead of passing this authtoken on every call, you can use this command to store it in a config file so that your client always authenticates you properly.
Credits command reference
credits prints information about the author and licensing.
Ngrok Https command reference
http starts an HTTP tunnel.
Using: ngrok http [COMMAND OPTIONS] [ARGUMENTS …]
Starts a tunnel listening for HTTP / HTTPS traffic with the specified hostname. The HTTP Host header on incoming public requests is checked to determine which tunnel is right for it.
HTTPS endpoints terminate TLS traffic on the ngrok server using ngrok.io certificates. The decrypted HTTP traffic is then routed through a secure tunnel and then to your local server. If you don’t want your TLS traffic to end on the ngrok server, use a TLS or TCP tunnel.
Redirects ngrok.io subdomain to local port 80:
Redirects traffic to example.com:9000:
Requests the subdomain name: ‘bar.ngrok.io’
Requests tunnel ‘ex.com’ (DNS CNAME):
Requests basic authentication on the tunnel endpoint:
Rewrites the Host header to ‘ex.com’:
Allows access from the Internet to local files in /var/log:
Redirects to local https server:
Start command reference
start starts the tunnel by name from the config file.
Using: ngrok start [COMMAND OPTIONS] [ARGUMENTS …]
The Ngrok start command Runs tunnels by name from a config file. You can specify any number of tunnel names. You can start all tunnels from the configuration file by specifying the –all switch.
Examples:
Run a tunnel named in the ‘dev’ config file:
Run the ‘web’ and ‘blog’ tunnels:
Run all tunnels defined in the config file:
Tcp command reference
tcp starts a TCP tunnel.
Using: ngrok tcp [COMMAND OPTIONS] [ARGUMENTS …]
The TCP Command Launches a tunnel that redirects all TCP traffic from the public port to the local address. This is extremely useful for providing services that run on non-HTTP traffic (ssh, sip, rdp, game servers, etc.).
A TCP tunnel binds a public address on a remote ngrok server. Any services that require a stable public address should use the –remote-addr parameter. ngrok.com requires you to reserve a TCP tunnel address for your account before you can use it.
Forward port to your local ssh server
Provide an RDP server at a specific public address that you have reserved
Tls command reference
tls starts a TLS tunnel.
Using: ngrok tls [COMMAND OPTIONS] [ARGUMENTS …]
The tls command Starts a tunnel to listen for TLS traffic on port 443 with the specified hostname. The TLS SNI (Server Name Indication) extension field on the TLS connection is checked to determine which tunnel it fits into.
The ngrok server does not terminate TLS connections forwarded with this command. Any basic protocol can be used. Optionally, you can specify a TLS key / certificate pair that will be used to terminate client-side traffic before it is forwarded. If not specified, traffic will be sent encrypted.
The use of this command is recommended only with the -hostname option. Other uses will work, but will always result in certificate mismatch warnings.
Forward TLS traffic for example.com to port 443 (CNAME required)
Forward TLS traffic to subdomain (certificate mismatch warning)
Terminate TLS traffic for t.co before forwarding
Update command reference
updates ngrok to the latest version.
Using: ngrok update [COMMAND OPTIONS] [ARGUMENTS …]
Updates ngrok to the latest version. This command checks the ngrok web service for newer versions of the ngrok client. If a newer version is available, it will be downloaded, the downloaded file will be authenticated and the current executable file will be replaced with the new one.
For a successful update, the ngrok binary must be in a writable directory by the current user. If you put ngrok in your system PATH, you may need to run it as root or administrator.
Update ngrok to the latest stable version:
Update ngrok to the latest beta version:
How to use ngrok
Examples of running ngrok
Create a tunnel from the generated subdomain accessible via a public link to local port 80 (web server):
Immediately after launch, you can see that the service created a temporary subdomain of the form c68c9c03db47.ngrok.io to provide access to the PC, and locally at 127.0.0.1:4040, a panel was launched that displays data on remote connections to the tunnel. We try to open the c68c9c03db47.ngrok.io domain from anywhere, and get access to the directory configured on the web server.
Tunnel to the specified HOST: PORT (foo.dev:80) instead of localhost:
Make the local HTTPS server accessible from the global network:
Tunneling arbitrary TCP traffic to port 22:
Creating a tunnel (http) to the kalitut.com site using the https protocol (https://kalitut.com) with replacing the Host HTTP header with kalitut.com (-host-header = kalitut.com) :
Good to know
If you plan to use the server often, it makes sense to register on ngrok.com, pick up the token from the authorization settings page , and add it to the local client using the command:
The token will be written to the file
/ .ngrok2 / ngrok.yml and now, the client, when working with the service, will authorize on it. This will provide access to free fare, but with limits b About lshimi than available are not an authorized user. On paid plans, there are additional features that make working with the service convenient (reserve of subdomains, for example), but within the framework of this note, I am considering only what the user can use without payment.
We proxy to other PCs on the local network
It is not at all necessary to keep the web server on the same machine where Ngrok runs. If the service on the local network is running on a separate machine, we can proxy traffic there:
We work not only with the web server
In fact, we can configure remote access to any tcp service running on a PC. For example, if we want to get access via SSH, we can do like this:
At the same time, from the service we will receive an address of the form tcp: //0.tcp.ngrok.io: 18211 -> localhost: 22, and to access the PC we just need to connect via SSH to the hostname 0.tcp.ngrok.io and the port 18211. Those who like to raise game servers can do the same. Just start proxying to the desired tcp port, give the coordinates to your friends and start playing.
Installing on Windows
Go to the official website page and download ngrok for Windows: https://ngrok.com/download
Unpack the downloaded archive, open the command line and go to the folder with the executable file using cd , for example, my program is placed in the C:\Users\WTS\Downloads\ folder :
To check, display the help with the command:
Источник