Как то раз потребовалось отправить UDP пакет из пункта А в пункт Б. Задался вопросом как это сделать, так как до этого с таким не сталкивался. В очередной раз нашел решение в интернете. На самом деле есть множество способов это сделать, но я выделю два:
1. Это простой способ с помощью передачи сообщения в потоке, файлу /dev/proto/ip/port, но как оказалось к моему большому удивлению, ни во всех ОС эта возможность имеется
1 2 |
$ echo “hello” > /dev/tcp/192.168.2.101/8080 $ echo “hello” > /dev/udp/192.168.2.101/8080 |
2. Второй способ с помощью nmap, эта утилита стоит по дефолту практически в каждом дистрибутиве. В синтаксисе разобраться не составит никакого труда.
1 2 |
nmap -sU -p 5060 192.168.5.25 nmap -sT -p 5060 192.168.5.25 |
Так же в рамках этой статьи хочу показать как можно сделать traceroute по определенному порту и протаколу:
1 2 |
traceroute 192.168.56.32 -U -p 8080 traceroute 192.168.56.32 -T -p 8080 |
Всё это нужно, например, для проверки фаерволла или же для обнаружения искажения данных. А так же помогло мне выяснить что мой провайдер блокирует у себя на шлюзе порт 5060 🙂