Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Traffic mitschneiden und PID anzeigen lassen
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
Jimini
Guru
Guru


Joined: 31 Oct 2006
Posts: 590
Location: Germany

PostPosted: Tue Nov 15, 2011 8:42 pm    Post subject: Traffic mitschneiden und PID anzeigen lassen Reply with quote

Hey,
zunächst mal sorry für das verwirrende Topic, aber anders wusste ich mein Problem nicht knapp zu umschreiben. Ein System bei mir versucht seit geraumer Zeit, Verbindungen zu Rechnern außerhalb meines Netzes auf Port 80 und 443 aufzubauen. Diese Versuche werden von iptables zwar unterbunden, ich würde aber dennoch gerne wissen, welcher Prozess dafür verantwortlich ist.
Ich suche daher nach einer Möglichkeit, den Traffic beispielsweise 30 Minuten mitzuschneiden und danach auszuwerten. iptstate und iptraf scheinen sich hierzu nicht sonderlich zu eignen - das System arbeitet als Router, wodurch ständig deutlich mehr als 100 Verbindungen offen sind. Zudem kommen die Verbindungen ja nicht einmal zustande, da iptables dichtmacht.

Was für eine Möglichkeit gibt es also, den Prozess zu finden?

MfG Jimini
_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents." (H.P. Lovecraft: The Call of Cthulhu)
Back to top
View user's profile Send private message
Josef.95
Advocate
Advocate


Joined: 03 Sep 2007
Posts: 3627
Location: Germany

PostPosted: Tue Nov 15, 2011 11:04 pm    Post subject: Reply with quote

Schau mal ob dir net-analyzer/nethogs eventuell schon weiterhilft.
Back to top
View user's profile Send private message
thrashed
Apprentice
Apprentice


Joined: 01 Sep 2004
Posts: 292

PostPosted: Wed Nov 16, 2011 8:25 am    Post subject: Reply with quote

ist das nicht ein thema für den klassiker tcpdump?

auf der firewall 30min. laufen lassen
Code:
tcpdump port 80 and host stoerenfriedhostname -w /genuegend/speicherplatz/pfad/outfile.cap


das file würde ich mir dann mit wireshark ansehen
Back to top
View user's profile Send private message
Jimini
Guru
Guru


Joined: 31 Oct 2006
Posts: 590
Location: Germany

PostPosted: Thu Nov 17, 2011 6:54 am    Post subject: Reply with quote

Bei nethogs steige ich noch nicht ganz durch. Gibt es da eine Möglichkeit, Verbindungen aufzuzeihnen? Die Manpage ist mit 36 Zeilen leider äußerst dünn.

tcpdump scheint mir leider ebenfalls nicht weiterzuhelfen, da es wohl nur die zustande gekommenen Verbindungen aufzeichnet. Ein Testlauf über rund 5 Minuten, in denen mehrere Male Verbindungsversuche nach außen auf Port 80 rejected wurden, zeigte eben diese Verbindungen nicht auf (sie kamen ja nicht zustande).

MfG Jimini
_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents." (H.P. Lovecraft: The Call of Cthulhu)
Back to top
View user's profile Send private message
thrashed
Apprentice
Apprentice


Joined: 01 Sep 2004
Posts: 292

PostPosted: Fri Nov 18, 2011 10:01 am    Post subject: Reply with quote

und tcpdump am störenfried host laufen lassen?
der host muss ja zumindest ein SYN in richtung firewall schicken. egal was damit passiert, müsste dies doch trotzdem via tcpdump zu sehen sein?
Back to top
View user's profile Send private message
Jimini
Guru
Guru


Joined: 31 Oct 2006
Posts: 590
Location: Germany

PostPosted: Fri Nov 18, 2011 10:25 am    Post subject: Reply with quote

Ich habe tcpdump gestern auf dem Router selber laufen lassen, konnte allerdings in dem Dump keine IP-Adressen finden, die laut iptables-Log rejected wurden.

MfG Jimini
_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents." (H.P. Lovecraft: The Call of Cthulhu)
Back to top
View user's profile Send private message
mokia
n00b
n00b


Joined: 01 Feb 2010
Posts: 63
Location: Hungary

PostPosted: Sun Nov 20, 2011 7:11 am    Post subject: Reply with quote

Wen das hauptproblem die verwerfung die packete sind, dann wie wehre es sie nicht zu verwerfen sondern umleiten
zmbs: zu eine einfache python script.
Man kann ziemlich einfach low level sockets implementieren. Dann hat das renegate process irgendetwas womit er spielen kann, und du hast irgendetwas was du loggen kanst. XD
Back to top
View user's profile Send private message
Jimini
Guru
Guru


Joined: 31 Oct 2006
Posts: 590
Location: Germany

PostPosted: Sun Nov 20, 2011 7:43 am    Post subject: Reply with quote

Das Problem ist, dass die Kisten von sich aus ohnehin keine Verbindungen aufbauen sollen und ich gerne wissen würde, welcher Prozess das ständig versucht.

MfG Jimini
_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents." (H.P. Lovecraft: The Call of Cthulhu)
Back to top
View user's profile Send private message
mokia
n00b
n00b


Joined: 01 Feb 2010
Posts: 63
Location: Hungary

PostPosted: Sun Nov 20, 2011 9:39 am    Post subject: Reply with quote

Ja hab' schon verstanden, dennoch musst du es erlauben um den process zu finden.

Code:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import socket
from subprocess import Popen,PIPE
#dises script muss auf den renegaten host laufen sonst ist die netstat ausgang unbrauchbar
#-[Piblic ip des renegaten hostes]-------------------------------------------------------------------
HOST = '192.168.1.101'
PORT = 10001
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
while 1:
 conn, addr = s.accept()

 proc = Popen("netstat -p | grep tcp | grep http", stdout=PIPE, shell=True).stdout.read()
 print 'In die falle getapt', addr
 print 'netstat ausgang:'
 print proc
 print "Daten entfangen:"
 while 1:
  data = conn.recv(1024)
  print data
  if not data: break

conn.close()
#iptables linien für den router:
#-A PREROUTING (-s 192.168.1.101) (-d 200.200.200.200) -m tcp --dport 80 -m tcp -p tcp -j DNAT --to-destination 192.168.1.101:10001
# wo 192.168.1.101 ip des renegaten hostes ist
#(dise regel muss den aktuellen bedarf angepasst verden in princip ist es ein spigel )
#-A POSTROUTING -o eth5 -j MASQUERADE
#wo eth5 die interface ist wo die renegate host zu erreichen ist.

#-[ausgang]-----
#pyton # ./tcpfalle.py
#in die falle getapt ('routerip', 53066)
#netstat ausgang:
#tcp        0      0 192.168.1.101:53066     200.200.200.200:http    ESTABLISHED 3296/busybox       
#
#Daten entfangen:
#abc
Back to top
View user's profile Send private message
Jimini
Guru
Guru


Joined: 31 Oct 2006
Posts: 590
Location: Germany

PostPosted: Sun Nov 20, 2011 1:57 pm    Post subject: Reply with quote

Ich verstehe ehrlich gesagt nicht, was das Skript macht, kannst du das kurz erläutern? Was meinst du mit "renegaten host"?

MfG Jimini
_________________
"The most merciful thing in the world, I think, is the inability of the human mind to correlate all its contents." (H.P. Lovecraft: The Call of Cthulhu)
Back to top
View user's profile Send private message
mokia
n00b
n00b


Joined: 01 Feb 2010
Posts: 63
Location: Hungary

PostPosted: Sun Nov 20, 2011 3:05 pm    Post subject: Re: Traffic mitschneiden und PID anzeigen lassen Reply with quote

Jimini wrote:
.. Ein System bei mir versucht seit geraumer Zeit, Verbindungen zu Rechnern außerhalb meines Netzes auf Port 80 und 443 aufzubauen.
.. ich würde aber dennoch gerne wissen, welcher Prozess dafür verantwortlich ist....

Es öfnet ein tcp/ip socet auf port 10001
Wenn irgentetwas zum diesen socet kontakt aufnimt
führt es das befehl "netstat -p | grep tcp | grep http" aus
was active TCP/IP kontakte auf port 80 auslistet.
danach enfengt es maximal 1024 byte daten und spukt ales
auf den terminal aus.
Code:

            |--------|          |-------------|
            |        |  LAN     | störenfried |<-----skript lauft hier
Internet<-->| router |<-------->|  (renegat)  |
            |        |          |             |
            |--------|          |-------------|
               X-|<-------- xyprocess xyip:80 request (unbekante process)
   iptables PREROUTING ---> ipstörenfried:10001 (da hört das skript zu)
                            skript fangt die von router zurüchgespiegelte request auf
                            und schaut mit netstat nach processen die ein
                            http request gestartet haben.
                            skript schreibt es zu terminal
                            + schriebt aus was es enfangen hat.         

Es mag zu komplex zu erschainen, aber es ist wichtig das das process eine aktive
konntakt herstellen kan, damit es von netstat gelistet wirt. Nur ist das nicht das
server was es ervartet, sondern das pythonskript

Wen das störenfried der router selbst ist funktioniert es auch.
(skript an router, ip 127.0.0.1, PREROUTING zu 127.0.0.1:10001)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum