Kernelmodul Sebek installieren

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
snoop_hallo
Beiträge: 110
Registriert: 29.03.2005 19:24:45
Kontaktdaten:

Kernelmodul Sebek installieren

Beitrag von snoop_hallo » 03.12.2007 21:42:23

Ich versuche das Kernel-Modul Sebek auf meinem Debian System zu installieren.
Habe es bisher entpackt, jedoch kommt bei ./configure folgender Fehler:

Code: Alles auswählen

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
using default compiler
checking for /lib/modules/2.6.18-4-686/build/include/linux/syscalls.h... no
checking for a BSD-compatible install... /usr/bin/install -c
checking for patch... yes
checking for /lib/modules/2.6.18-4-686/build/include/linux/sched.h... no
configure: error: Kernel source should be installed in /lib/modules/2.6.18-4-686/build
Kann mir vielleicht jemand weiterhelfen?

storm
Beiträge: 1581
Registriert: 01.05.2004 13:21:26
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DE

Beitrag von storm » 04.12.2007 07:34:06

Du musst natürlich die Kernel-Quellen auch installieren, sowie weitere Pakete zur Kernelbauerei (gcc, make, binutils, libncurses-dev,...), falls du die noch nicht hast. Das Quellcode-Paket des Kernels muß die gleiche Version haben wie der gegenwärtig laufende Kernel bzw. der, für den du das Modul bauen willst. Zur groben Orientierung kannst du dir ja mal KernelKompilieren im wiki anschauen.

ciao, storm
drivers/ata/libata-core.c: /* devices which puke on READ_NATIVE_MAX */

snoop_hallo
Beiträge: 110
Registriert: 29.03.2005 19:24:45
Kontaktdaten:

Beitrag von snoop_hallo » 05.12.2007 22:10:49

Die aufgeführten Pakete habe ich schon installiert.
Außerdem auch folgende

Code: Alles auswählen

gawk gcc make build-essential bin86 libpcap-dev linux-headers-2.6.18-4-686
Was ist jedoch genau unter Kernel-Quellen zu verstehen? Die linux-headers?
Muss ich um Sebek einzubinden den Kernel neu kompilieren?
Ich müsste doch eigentlich nur das Modul kompilieren und es aktivieren oder denke ich da gerade falsch?
Im Kernel muss doch nur das laden von Modulen aktiviert sein?

storm
Beiträge: 1581
Registriert: 01.05.2004 13:21:26
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: DE

Beitrag von storm » 06.12.2007 20:52:06

snoop_hallo hat geschrieben: Was ist jedoch genau unter Kernel-Quellen zu verstehen? Die linux-headers?
Nicht ganz. Die (kompletten) Quellen benötigst du, wenn du einen neuen Kernel bauen willst. Die linux-headers brauchst du, wenn du "nur" ein Modul bauen willst. Die header sind ähnlich dem Inhaltsverzeichnis oder Index eines Buches.
Muss ich um Sebek einzubinden den Kernel neu kompilieren?
Ich müsste doch eigentlich nur das Modul kompilieren und es aktivieren oder denke ich da gerade falsch?
Im Kernel muss doch nur das laden von Modulen aktiviert sein?
Im Fall von sebek sind laut BUILD die komplette sourcen zu nutzen, da die Software die Kernel-Version der raw sockets etwas abändert. Es geht zwar laut der gleichen Datei auch ohne ("--disable-raw-socket-replacement"), aber das stellt IMO den Sinn der Software in Frage. Also zusammengefasst ungefähr so: Willst du die Aktivitäten deines Honigtopfes bzw. eines Eindringlings auf einer anderen Maschine (dem sebek-server) sichern, solltest du die geänderten raw sockets nutzen, also auch die kompletten Kernel-Quellen. Willst du nur "probehalber" den Client betreiben, reichen die linux-headers und du musst die Software mit der Option von oben erstellen.

HTH und ciao, storm
drivers/ata/libata-core.c: /* devices which puke on READ_NATIVE_MAX */

snoop_hallo
Beiträge: 110
Registriert: 29.03.2005 19:24:45
Kontaktdaten:

Beitrag von snoop_hallo » 07.12.2007 22:54:51

Okay dank für die Hilfe.

snoop_hallo
Beiträge: 110
Registriert: 29.03.2005 19:24:45
Kontaktdaten:

Beitrag von snoop_hallo » 09.12.2007 01:24:48

./configuration konnte ich nun nach erfolgreichem Verlinken auf die kernel-sources abschließen.

Jedoch taucht nun bei make folgende Fehlermeldung auf:

Code: Alles auswählen

...
/usr/src/sebek-lin26-3.2.0b/src/net.h:46: error: expected specifier-qualifier-list before âu32â
/usr/src/sebek-lin26-3.2.0b/src/net.h:68: error: expected specifier-qualifier-list before âu32â
/usr/src/sebek-lin26-3.2.0b/src/net.h:81: error: expected specifier-qualifier-list before âatomic_tâ
/usr/src/sebek-lin26-3.2.0b/src/net.h:99: error: expected declaration specifiers or â...â before âu32â
/usr/src/sebek-lin26-3.2.0b/src/net.h:99: error: expected declaration specifiers or â...â before âu32â
/usr/src/sebek-lin26-3.2.0b/src/net.h:101: error: expected â)â before âtypeâ
In file included from /usr/src/sebek-lin26-3.2.0b/src/sebek.h:51,
                 from /usr/src/sebek-lin26-3.2.0b/src/sebek.c:23:
/usr/src/sebek-lin26-3.2.0b/src/syscall.h:39: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before ârefcountâ
In file included from /usr/src/sebek-lin26-3.2.0b/src/sebek.c:23:
/usr/src/sebek-lin26-3.2.0b/src/sebek.h:69: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before âa372612244â
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:32: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before âa372612244â
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:33: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before âtx_bytesâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:34: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before âtx_packetsâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:35: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before âs_bytesâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:36: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before âs_packetsâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:43: error: expected â=â, â,â, â;â, âasmâ or â__attribute__â before ârefcountâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c: In function âparse_paramsâ:
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:81: error: âa372612244â undeclared (first use in this function)
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:81: error: âu32â undeclared (first use in this function)
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:162: error: too many arguments to function âmemsetâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:185: error: âstruct in_deviceâ has no member named âifa_listâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:186: error: âstruct in_deviceâ has no member named âifa_listâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:196: warning: implicit declaration of function âin_atonâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:197: error: too many arguments to function âmemsetâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:201: warning: implicit declaration of function âstrnlenâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:210: error: too many arguments to function âmemsetâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:219: error: too many arguments to function âmemsetâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c: In function âhide_moduleâ:
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:234: error: invalid use of undefined type âstruct moduleâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:234: error: invalid use of undefined type âstruct moduleâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:235: error: invalid use of undefined type âstruct moduleâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:235: error: invalid use of undefined type âstruct moduleâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:236: error: invalid use of undefined type âstruct moduleâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:237: error: invalid use of undefined type âstruct moduleâ
/usr/src/sebek-lin26-3.2.0b/src/sebek.c: In function âsebek_initâ:
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:251: error: âEAGAINâ undeclared (first use in this function)
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:257: error: âEINVALâ undeclared (first use in this function)
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:263: error: âa372612244â undeclared (first use in this function)
/usr/src/sebek-lin26-3.2.0b/src/sebek.c: In function âsebek_exitâ:
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:293: error: âa372612244â undeclared (first use in this function)
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:303: error: ârefcountâ undeclared (first use in this function)
/usr/src/sebek-lin26-3.2.0b/src/sebek.c:303: error: âcurrentâ undeclared (first use in this function)
make[2]: *** [/usr/src/sebek-lin26-3.2.0b/src/sebek.o] Fehler 1
make[1]: *** [_module_/usr/src/sebek-lin26-3.2.0b/src] Fehler 2
make[1]: Leaving directory `/usr/src/linux-2.6.18.5'
make: *** [sebek] Fehler 2
Werde daraus nicht weiter schlau.

Antworten