Mam aplikację, która jest usługą systemu Windows. Dostęp do szeregu innych usług za pomocą protokołu TCP / IP. Np. Bazy danych serwera sql, bazy danych informix, serwery poczty itp.
Na przykład będzie również uzyskiwać dostęp do wielu wystąpień serwera SQL na różnych serwerach.
Jak chcę to zrobić w ciągu dnia, jeśli chcę zalogować wszystkie różne usługi, z którymi się połączyłem?
Jeśli korzystam z TCPView, widzę wszystkie potrzebne informacje, np. Zdalny adres, port, ale jest to widok w czasie rzeczywistym, więc dane nie są zapisywane.
źródło
Myślę, że Wireshark zrobiłby dokładnie to, co chcesz.
Możesz użyć jego potężnych filtrów, aby wybrać tylko ruch TCP z niektórych portów lub IP. Krótko mówiąc, możesz pozwolić mu działać i zbierać tylko dane, które są dla Ciebie ważne. Możesz zobaczyć komunikację na poziomie pakietu dla wszystkiego, co przechodzi przez twoją kartę sieciową.
źródło
Jeśli korzystasz z systemu Windows, możesz skonfigurować zaplanowane zadanie uruchamiające skrypt:
plik twoja_output_path może zawierać zmienną% time% i% date%, dzięki czemu przy każdym uruchomieniu skryptu wyprowadza dane do pliku o nazwie czas i data.
Jeśli zainstalujesz narzędzie takie jak UnixUtils , będziesz mógł użyć polecenia grep i gawk, aby odfiltrować niepotrzebne rekordy i pozostawić pożądane tylko raz. Na przykład, aby uzyskać połączenie PostgreSQL, zrobiłbyś to
Uruchom ten skrypt tak często, jak chcesz, a będziesz mieć mnóstwo plików z uruchomionym rekordem połączenia w tym czasie.
źródło
Właśnie zauważyłem starszy program SysInternals o nazwie TCPview, któremu najwyraźniej towarzyszy wersja konsolowa ... jak netstat dla TCP na sterydach.
źródło