Меня немного смущает обилие руководств по tcpdump в Интернете. У меня есть несколько виртуальных машин, работающих на сервере виртуализации. Где я отлаживаю проблему. Порт 53 - это проблема. У меня есть мостовая установка, где из 4 сетевых карт на рассматриваемой машине одна активна, и это xen-br0. Я хочу проверить, поступает ли какой-либо запрос на порт 53 на сервере другими машинами в локальной сети. Я также хочу увидеть, отправляют ли гостевые операционные системы в локальной сети или на любой другой машине трафик на порт 53. Из-за большого количества сообщений, генерируемых через tcpdump, мне трудно получить вывод на желаемый порт с помощью grep.
Итак, как я могу его использовать, если кто-то может привести полезный пример. Заранее спасибо.
Вы можете использовать эту команду: tcpdump -n -s 1500 -i eth0 udp port 53 (Замените 'eth0' на имя вашего интерфейса Ethernet, например 'fxp0'). Это показывает все пакеты, входящие и исходящие из вашего компьютера для порта UDP. 53 (DNS) Источник:DNS-упражнение 1
Если вы хотите только видеть, кто с кем разговаривает на порту udp / tcp 53 без требуется подробная полезная нагрузка такого разговора, лучше всего использовать netflow.
Осмелюсь предположить, что вы используете Linux. Если да, вы можете использовать ulogd чтобы сгенерировать информацию о чистом потоке из трафика, который вы получаете, а затем обработать его с помощью nfdump (если вы ориентированы на командную строку) и / или nfsen (если вы больше относитесь к визуальному типу) (nfdump / nfsen являются частью того же проекта с открытым исходным кодом).
Например, ulogd включен только с одним правилом iptables:
-A INPUT -j ULOG --ulog-cprange 48 --ulog-qthreshold 50
и запуск fprobe-ulog, поэтому каждый поток, сгенерированный ulogd, направляется сборщику netflow (в данном случае nfdump), прослушивая порт, который вы настроили для прослушивания nfdump (в данном случае порт 9995):
29040 ? Ssl 65:55 /usr/sbin/fprobe-ulog -Xeth0:100 localhost:9995
Итак, если вы хотите знать, кто пытался поговорить с вашим сервером через порт udp / tcp 53, вы можете запросить свои потоки с помощью nfdump:
root@my_machine:/usr/local/nfdump/bin/nfdump -R 2011 'dst port 53 && dst ip XXX.XXX.212.184' | more
Date flow start Duration Proto Src IP Addr:Port Dst IP Addr:Port Packets Bytes Flows
2011-01-07 06:23:28.031 0.000 UDP 200.80.42.244:54 -> XXX.XXX.212.184:53 1 63 1
2011-01-07 20:34:07.287 0.000 UDP 38.229.1.72:42196 -> XXX.XXX.212.184:53 1 119 1
2011-01-08 04:29:53.287 0.000 UDP 194.199.24.101:45274 -> XXX.XXX.212.184:53 1 57 1
2011-01-28 08:47:45.171 0.000 UDP 38.229.1.72:42914 -> XXX.XXX.212.184:53 1 119 1
2011-02-18 04:56:48.359 22.335 UDP 200.186.243.203:60808 -> XXX.XXX.212.184:53 3 211 1
2011-02-18 04:57:07.363 9.026 TCP 200.186.243.203:60970 -> XXX.XXX.212.184:53 3 144 1
2011-02-18 04:58:48.845 2.389 UDP 200.186.243.203:60808 -> XXX.XXX.212.184:53 2 116 1
2011-02-18 04:58:48.844 8.385 TCP 200.186.243.203:61051 -> XXX.XXX.212.184:53 3 144 1
2011-02-18 04:59:00.829 32.490 UDP 200.146.126.135:39171 -> XXX.XXX.212.184:53 5 339 1
2011-02-18 04:59:22.738 9.132 TCP 200.146.126.135:57213 -> XXX.XXX.212.184:53 3 152 1
...
...
...
Summary: total flows: 310, total bytes: 47456, total packets: 839, avg bps: 0, avg pps: 0, avg bpp: 56
Time window: 2011-01-07 06:23:28 - 2011-03-03 05:57:55
Total flows processed: 3087449, Blocks skipped: 0, Bytes read: 161058180
Sys: 0.966s flows/second: 3193300.5 Wall: 0.854s flows/second: 3611887.9
Для этой конкретной проблемы, которую вы описываете, установка ulogd и nfdump / nfsen может показаться излишней, но опыт подсказывает мне, что включение netflow вашей инфраструктуры очень поможет вам в устранении любых проблем с трафиком / безопасностью, которые вам могут понадобиться в будущем, поэтому это может очень хорошо стоит затраченных усилий.
Привет, я знаю, что это не полное решение, но оно быстрое и может пригодиться
lsof -i:53
Это должно дать вам представление о том, для чего используется порт. (ps для днс никогда не использовал)