изолированное приложение и проверяет, какие пакеты оно отправляет по Интернету

Я думаю, что необходимо импортировать доверяемый корневой сертификат, (возможно любые посреднические сертификаты также) в Java keystore, что JBoss использует. (При работе Linux только поместите, я выполнил JBoss, он использует Tomcat для выполнения JBoss в нем).

Я не уверен, где база ключей Java по умолчанию была бы для Tomcat. Можно использовать keytool от любого Java установка JDK и импорт доверяемый корень тот путь. keystore пароль должен быть 'значением по умолчанию', так как нет ничего секретного о доверяемых корневых открытых ключах.

Демонстрационный синтаксис Keytool мог бы быть:

keytool -importcert -keystore Path/to/store -storepass Password (Usually default or changeit) -alias Something -file FileWithPublicKey

Для получения доверяемого корня простой способ состоит в том, если тот же сертификат используется для интерфейса HTTP. Но я думаю, что IE позволит Вам попробовать ldaps://serverIP/и затем в значке с блокировкой, Вы видите детали сертификата.

Существует вкладка для цепочки сертификации. Главным объектом является CA, кто подписал этот сертификат (иначе Корень, которому мы должны Доверять, для создания его Доверяемым Корнем).

Если все это слишком много, то вот забавный прием! Получите 600K Java базирующийся браузер LDAP, названный LBE, и удалите локальный файл lbecacert затем выполните Браузер LDAP, сделайте конфигурацию для своего сервера LDAP с SSL включенной, и когда Вы сначала соединитесь, это получит Доверяемый Корень, предложит Вам Доверять ему однажды, всегда, или никогда. Выбирайте Всегда, и выход.

Недавно созданный lbecacert файл теперь имеет просто корень того, которому доверяют, в нем. Милый а? Я использую это, когда я ленив, и это хорошо работает.

Теперь, где должен Tomcat cacerts быть? Хорошо могло бы быть достаточно в Вашей установке JVM, lib/безопасность или добавить доверенный корень к cacerts там или иначе заменить тот файл этим (который не является наилучшим вариантом, так как Вы могли бы хотеть некоторые из тех, которые значение по умолчанию доверяло корням).

18
задан 23 September 2016 в 02:04
6 ответов

Given that you are using Wireshark, your port numbers aren't automatically resolved to an application name, so you will need to do a little more to refine the information you are looking for. Every application using TCP/IP to communicate across a network will be using ports, so that the network stack knows where to deliver segments to (I like to call it an application address).

Clients connecting to a server application on a specific port will be dynamically allocated a port number from a dynamic range. So you first need to find out what TCP/UDP connections your application has open:

netstat -b

at the command line will give you a list of connections with the name of the executable that created the connection. Each executable has one or more connections listed as 127.0.0.1:xxxxx, where X is the local port number for the connection.

Now in wireshark, you need to tell it to display packets that originated from or are destined to that port by using one or more of the these filters:

tcp.port == xxxxx or udp.port == xxxxx

Add an additional or tcp.port == xxxxx for each connection you want to show.

This will allow you to see all the traffic for the connections your application has open and Wireshark will not include just raw TCP/UDP segments but it will include the various application layer protocols (eg. HTTP) that used those port numbers too.

If your application appears to be communicating with just one server, you could just use the IP address of that server to filter by:

ip.addr == x.x.x.x
13
ответ дан 2 December 2019 в 20:25

If you use Process Monitor from Microsoft, you can change the filters to show only network communications from specific processes. It doesn't give you the contents of the packets, but it does show what hosts the app is talking to.

7
ответ дан 2 December 2019 в 20:25

Microsoft Network Monitor покажет вам процесс, ответственный за поток трафика.

1
ответ дан 2 December 2019 в 20:25

Просто замените My_Application на PNAME или PID

netstat -programs | grep "My_Application"

Я не тестирую его на Windows 7, но он работает под Linux.

-2
ответ дан 2 December 2019 в 20:25

я нашел Microsoft Message Analyzer очень полезным для той же цели. Он позволяет захватывать сетевой трафик и агрегировать его по дереву процессов.

.
1
ответ дан 2 December 2019 в 20:25

Используйте System Internals Process Monitor, чтобы получить номер процесса приложения и проверить другие внутренние инструменты системы по адресу:

https://docs.microsoft.com/en-us/sysinternals/

Откройте cmd.exe и запустите, покажите параметры командной строки netstat, netstat /? .

Теперь попробуйте netstat -bo 1 >> c: /test.log. Это позволит вам найти данные сетевого подключения ваших конкретных приложений в постоянно обновляемом файле.

Помните, что вам нужно остановить netstat -bo >> c: /test.log от записи в журнал, введя ctl-C в окно cmd.

0
ответ дан 2 December 2019 в 20:25

Теги

Похожие вопросы