Rejestrowanie połączeń wychodzących, gdy się zdarzają


23

Czy istnieje sposób, aby zalogować się do pliku wszystkich połączeń wychodzących, które tworzy proces? Wiem o netstattym, ale wydaje się, że jest to raczej migawka z jakiegoś punktu w czasie, a nie coś, co uruchamia i rejestruje informacje przez pewien okres.

Potrzebuję tylko adresu IP lub nazwy hosta, portu i procesu nawiązywania połączenia.


1
W watch -n 2 netstatmiędzyczasie możesz zrobić coś takiego , ale to nie jest właściwe rozwiązanie.
Ulrich Schwarz

1
[Wątek] [1] powinien odpowiedzieć na twoje pytanie [1]: superuser.com/questions/34782/...
Alien Life Form

Odpowiedzi:


15

W systemie Linux można skonfigurować podsystem kontroli, aby rejestrował każdą próbę nawiązania połączenia sieciowego. Aby uzyskać informacje na temat podsystemu kontroli, przeczytaj auditctlstronę podręcznika man lub ten samouczek lub inne przykłady na tej stronie . W auditdrazie potrzeby zainstaluj pakiet dystrybucji

auditctl -A exit,always -S connect

Dzienniki znajdują się we /var/log/audit/audit.logwszystkich znanych mi dystrybucjach. Możesz je również przeszukiwać za pomocą ausearch.


3
Musiałem określić, który proces tworzy połączenie wychodzące. Zrobiło to natychmiast. Aby uniknąć zalania kłód, usuń regułę później:auditctl -d exit,always -S connect
Michael Hampton

Jak mogę sprawdzić dzienniki?
luckydonald

@luckydonaldless /var/log/audit/audit.log
Gilles 'SO- przestań być zły'


3

W systemie Linux możesz ip_conntracktego dokonać. Jest to moduł śledzenia połączeń, zwykle używany do monitorowania połączeń pod kątem dziwnie zachowujących się protokołów (takich jak FTP) zarządzanych przez zaporę ogniową / NAT.

modprobe ip_conntrack
cat /proc/net/ip_conntrack

Możesz grepować pseudoplik, aby zobaczyć ustanowione połączenia, a następnie grep źródłowy adres IP, aby zobaczyć, kiedy pochodzi on z twojego urządzenia.


Pytanie niekoniecznie musi dotyczyć Linuxa.
Karlson

0

Chciałbym rozważyć użycie tcpdumpinterfejsu wychodzącego, patrząc na SYNżądania wychodzące .

Jeśli czujesz się naprawdę ryzykowny, możesz zrobić narzędzia takie jak: stracelub trusszgłosić wszystkie connectwywołania systemowe podczas śledzenia wykonania programu, ale jest to nieco bardziej niebezpieczne i ma wady w przypadku procesów wielowątkowych.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.