Мне нужно проверить, принимает ли сервер входящий трафик с указанного IP. Недостаточно проверить только, прослушивает ли порт, потому что, например, даже если у меня открыт порт 22, я не знаю, принимает ли он трафик с другого сервера. Я видел nmap и netstat, но кажется, что они не могут мне помочь. Вы знаете команду, чтобы сделать это?

2 ответа2

0

Я использую netstat для ответа на подобные вопросы. Я не уверен, почему вы говорите, что netstat не может вам помочь, потому что, безусловно, можно определить, получает ли ваш ПК трафик с определенного IP или нет, используя netstat.

Предполагая, что вы используете текущую версию Windows: перейдите в командную строку и введите netstat -n, чтобы увидеть все соединения с вашим ПК. Оставьте -n, чтобы увидеть имя хоста (где ваш компьютер может определить его) вместо IP-адреса.

Если проблема с использованием netstat для получения того, что вам нужно, заключается в том, что проблема заключается в количестве выходных данных (слишком много строк), тогда попробуйте скопировать / вставить вывод в хороший текстовый редактор или использовать netstat в Windows PowerShell (нажмите клавишу Windows и введите «PowerShell», затем выберите «Windows PowerShell») в сочетании с Select-String для фильтрации только по интересующему вас IP-адресу.

PS C:\> netstat -n | Select-String 10.11.15.41

TCP    192.168.1.1:22    10.11.15.41:62352       ESTABLISHED
TCP    192.168.1.1:22    10.11.15.41:63782       ESTABLISHED
TCP    192.168.1.1:22    10.11.15.41:60185       ESTABLISHED

Если по-прежнему отображается слишком много информации, вы можете использовать вторую строку выбора для фильтрации только по строкам, включающим строку «:22»:

netstat -n | Select-String 10.11.15.41 | Select-String :22

Аналогичные результаты могут быть достигнуты в других операционных системах (например, Linux, OSX) с использованием netstat и grep.

Если вам нужно настроить мониторинг, то это, вероятно, не будет соответствовать вашим потребностям, но для быстрого ответа на вопрос «X подключается ко мне?"netstat практичен и полезен. Я использую варианты этого каждый день.

С другой стороны, если вы спрашиваете: « Как я могу определить, способен ли конкретный хост B установить соединение с моим хостом A через порт 22?«- определение того, что маршрутизация осуществляется от B к A, и никакой брандмауэр не будет блокировать попытку подключения, - тогда я не думаю, что есть какой-либо способ узнать наверняка от A. Вам нужно будет получить доступ к B и провести тест от B до A.

0

Netstat действительно должен работать для того, что вы просили, используя методы, предложенные FosseWay, но одно ограничение заключается в том, что он будет показывать только точку во времени. Альтернативой, если вы хотите проверять трафик в течение определенного периода времени, будет использование WireShark. Это может быть излишним в некоторых отношениях, так как он имеет возможность перехватывать пакеты и даже воспроизводить их, но его легко использовать и он способен фильтровать трафик и записывать его, скажем, с определенного IP-адреса. Таким образом, вы можете видеть не только трафик с IP, но и каков был трафик.

Хороший учебник по установке и использованию WireShark можно найти здесь. Не стесняйтесь писать обратно, если у вас есть какие-либо вопросы о его функции https://www.howtogeek.com/104278/how-to-use-wireshark-to-capture-filter-and-inspect-packets/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .