[PHP]Output van commandline progs opvangen + formatteren

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,

Ik ben momenteel bezig met een eenvoudige grafische front-end voor een aantal linux tools (Nmap, Nessus, Nikto,...) in PHP. Momenteel kan de gebruiker een aantal parameters aanvinken en het gekozen programma uitvoeren.
Het wegschrijven van de output naar de webpagina is ook geen probleem. Het probleem zit echter bij de formatting van de output; deze komt momenteel zonder regeleinden tevoorschijn. Ik heb de verschillende mogelijkheden geprobeerd van de PHP functies system, exec, shell_exec maar steeds komt hetzelfde resultaat. Ook de functie nl2br(string) geeft geen oplossing (er staan immers geen /n tekens aan het einde van elke regel)...
Ik ben hiermee momenteel reeds twee volledige dagen bezig geweest en zie zelf echt geen oplossing. Hopelijk heeft iemand hier een werkend antwoord of link naar werkende tutorial/howto :) .

Alvast bedankt!


Hieronder een voorbeeldje ter verduideling:

Huidige output:
Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2006-03-14 16:13 EST Initiating Connect() Scan against 192.168.2.105 [1663 ports] at 16:13 Discovered open port 21/tcp on 192.168.2.105 Discovered open port 139/tcp on 192.168.2.105 Discovered open port 445/tcp on 192.168.2.105 Discovered open port 135/tcp on 192.168.2.105 Discovered open port 990/tcp on 192.168.2.105 The Connect() Scan took 1.63s to scan 1663 total ports. Host 192.168.2.105 appears to be up ... good. Interesting ports on 192.168.2.105: (The 1658 ports scanned but not shown below are in state: closed) PORT STATE SERVICE 21/tcp open ftp 135/tcp open msrpc 139/tcp open netbios-ssn 445/tcp open microsoft-ds 990/tcp open ftps MAC Address: 00:C0:9F:BE:0E:E8 (Quanta Computer) Nmap finished: 1 IP address (1 host up) scanned in 2.013 seconds Raw packets sent: 2 (68B) | Rcvd: 1 (46B) Raw packets sent: 2 (68B) | Rcvd: 1 (46B)

Gewenste output:
Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2006-03-14 16:13 EST
Initiating Connect() Scan against 192.168.2.105 [1663 ports] at 16:13
Discovered open port 21/tcp on 192.168.2.105
Discovered open port 139/tcp on 192.168.2.105
Discovered open port 445/tcp on 192.168.2.105
Discovered open port 135/tcp on 192.168.2.105
Discovered open port 990/tcp on 192.168.2.105
The Connect() Scan took 1.63s to scan 1663 total ports.
Host 192.168.2.105 appears to be up ... good.
Interesting ports on 192.168.2.105:
(The 1658 ports scanned but not shown below are in state: closed)
PORT STATE SERVICE
21/tcp open ftp
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
990/tcp open ftps
MAC Address: 00:C0:9F:BE:0E:E8 (Quanta Computer)

Nmap finished: 1 IP address (1 host up) scanned in 2.013 seconds

Acties:
  • 0 Henk 'm!

  • jurp5
  • Registratie: Februari 2003
  • Laatst online: 11-09 08:28
-

[ Voor 139% gewijzigd door jurp5 op 15-03-2006 21:38 . Reden: niet goed gelezen ]


Acties:
  • 0 Henk 'm!

Verwijderd

Die output tekst eens converteren naar de ascii values van alle karakters en dan zien of je er niks mee aan kan vangen...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Oja, een bijkomend probleem is dat de output uiteraard in realtime moet opgevangen worden en uitgeprint moet worden op de webpagina, zodat de gebruiker een overzicht krijgt van de voortgang van de scan...

Om het nog even ingewikkelder te maken ;)

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21-09 21:47

Creepy

Tactical Espionage Splatterer

Je bent twee dagen hieraan bezsig geweest? Wat heb je dan al allemaal geprobeerd? Wat lukte daar niet mee? Heb je de broncode van de uiteindelijk gegenereerde pagina al bekeken? nmap genereert namelijk echt wel regeleindes anders komt het er ook niet netjes uit in een terminal. Het lijkt me dus een kleine moeite om dat te vervangen door br's.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

  • --MeAngry--
  • Registratie: September 2002
  • Laatst online: 19-09 16:35

--MeAngry--

aka Qonstrukt

Bekijk de HTML-broncode maar eens, dan zul je zien dat de uitvoer toch echt regeleindes bevat. :) (Of zet er <pre> tags omheen en je ziet het ook op de pagina zelf.)

Tesla Model Y RWD (2024)


Acties:
  • 0 Henk 'm!

  • Mr. Bondt
  • Registratie: Februari 2005
  • Laatst online: 27-08 14:50

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
--MeAngry-- schreef op donderdag 16 maart 2006 @ 16:17:
Bekijk de HTML-broncode maar eens, dan zul je zien dat de uitvoer toch echt regeleindes bevat. :) (Of zet er <pre> tags omheen en je ziet het ook op de pagina zelf.)
Het simpel gebruik van <pre> tags lijkt het probleem dus op te lossen...

Ik voel me sowieso erg dom dat ik het steeds te ver ben gaan zoeken binnen PHP of output naar files en dergelijke, terwijl het met zeer simpele HTML tags opgelost kon worden 8)7

In ieder geval iedereen erg bedankt voor de tips en MeAngry voor de oplossing _/-\o_
Pagina: 1