Programa günlük bağlantıları


9

Ayrıca gelen bağlantıları günlüğe kaydetmek için iptables kullanmak için ..

Kaynağına sahip olmadığınız bir hizmete kurulan gelen bağlantıları günlüğe kaydetmenin bir yolu var mı (hizmetin böyle şeyleri kendi başına günlüğe kaydetmediğini varsayalım)? Yapmak istediğim şey, hizmetin en çok hangi saatlerde kullanıldığını, dünyanın ana kullanıcı tabanının nerede olduğunu vb.

Kullanabileceğimin netstatve sadece bir cron komut dosyasına bağlayabileceğimin farkındayım , ancak komut dosyası yalnızca bir dakika kadar sık ​​çalışabileceğinden bu doğru olmayabilir.

İşte şu anda düşündüğüm şey:

  • netstatÖnceki ankette görünmeyen yerleşik bağlantıları arayan , sürekli yoklayan bir program yazın . Bu fikir, cpu zamanının boşa gitmesine benziyor, çünkü yeni bir bağlantı olmayabilir.
  • Hizmetin çalıştığı her bağlantı noktasından gelen bağlantıları kabul eden bir sarıcı programı yazın, ancak daha sonra bu bağlantıyı gerçek hizmete nasıl geçireceğimi bilemezdim.

Düzenleme: Sadece emin değilim, ancak bu soru stackoverflow için daha iyi olabilir bana oldu. Üzgünüm, burası yanlış bir yer.


Neden iptables kullanımını hariç tutuyorsunuz? Uygulamamız hangi portu dinliyor?
user9517

Esas olarak, loglama üzerinde daha fazla kontrole sahip olmak istiyorum. İdeal olarak, yeni bir bağlantı algılandığında günlük kaydını nasıl istediğimi işleyebilmek istiyorum. Herhangi bir bağlantı noktası. Bunun için kullanacağım tek bir özel uygulama yok, bu yüzden bir kullanıcı adı veya bunun gibi bir şeyi derinlemesine nasıl kaydedeceğinizi sormuyorum.
Zac

İptables'ı yalnızca herhangi bir bağlantı noktasına yeni gelen bağlantıları kaydetmek için kullanabilirsiniz. Bunu birkaç kutuda yapıyorum. Bu yüzden Iain'in mükemmel sorusunu tekrar ediyorum: neden iptables kullanımını hariç tutuyorsunuz?
MadHatter

Uygulamadan önce bir proxy yerleştirebiliyor musunuz? Sadece istekleri alan, kaydeden ve ileten çok basit bir talep olması gerekir. Gelen sinyali proxy'ye iletebilirsiniz, daha sonra orijinal bağlantı noktasındaki uygulamaya aktarılır.
John Gardeniers

Yanıtlar:


4

Böylece iptables ile yeni bağlantılar kaydedebilirsiniz

iptables -I INPUT -m state --state NEW -j LOG --log-level 1 --log-prefix "New Connection "

Bu, yeni bir ssh conenction için böyle bir mesaj ekleyecektir

6 Ekim 10:58:23 centos çekirdeği: Yeni Bağlantı IN = eth0 OUT = MAC = 00: 0c: 29: 5b: a5: ea: 00: 0c: 29: 2d: 94: a0: 08: 00 SRC = 192.168. 1.72 DST = 192.168.254.187 LEN = 52 TOS = 0x00 PREC = 0x00 TTL = 126 ID = 15498 DF PROTO = TCP SPT = 59221 DPT = 22 PENCERE = 8192 RES = 0x00 SYN URGP = 0

ya da yeni bir http bağlantısı için böyle

6 Ekim 11:03:56 centos çekirdeği: Yeni Bağlantı IN = eth0 OUT = MAC = 00: 0c: 29: 5b: a5: ea: 00: 0c: 29: d2: 2c: 38: 08: 00 SRC = 192.168. 254.188 DST = 192.168.254.187 LEN = 60 TOS = 0x10 PREC = 0x00 TTL = 64 ID = 10345 DF PROTO = TCP SPT = 52488 DPT = 80 PENCERE = 14600 RES = 0x00 SYN URGP = 0

ve sisteminize yapılan her yeni bağlantı için bu şekilde devam edin. Sistem günlüğünüz kern.warning mesajları gönderecek şekilde yapılandırıldığı her yere kaydedilir.


Daha fazla etrafa baktıktan sonra, bu şekilde en iyi bahisim gibi görünüyor. Ayrı bir dosyaya giriş yapmak için bunu rsyslog ile birleştireceğim. Bilgilendirici yanıtınız Iain için çok teşekkür ederim!
Zac

0

denetleme aracını kullanabilirsiniz ve günün sonunda bu günlüklere göre bazı istatistikleri hesaplayabilirsiniz. Ya da bir snmp çözümüne gidebilirsiniz, ancak muhtemelen kendi mibinizi yazdınız


0

TCpdump veya wireshark'a ne dersiniz?


Lütfen cevabınızı biraz daha genişletin. Belki de kullanıcıya tcpdump ve wireshark'ın sorun giderme çabalarına nasıl fayda sağlayacağını önermek.
Magellan

tcpdump manual ile tam paketleri kaydedebilirsiniz. Ayrıca, tcpdump ile paketleri yakalayabilir ve daha sonra bunları wireshark'ta analiz edebilirsiniz. tcpdump -i <interface> -s 65535 -w <some-file>Ayrıca, yeterli paketi yakaladığınıza inandığınızda, yakalamayı ^ C ile sonlandırmanız gerekecektir.
Guntis
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.