2016-04-13 10 views
1

Ich möchte Inhalte lesen, die an/dev/null 2> & 1 gesendet werden, bevor sie entfernt werden. Ich verstehe, dass/dev/null theoretisch ein schwarzes Loch für stdin und stdout ist. Aber gibt es eine Möglichkeit, zu erfassen, was an diese Datei gesendet wird, bevor sie gelöscht wird?Überwache den/dev/null 2> & 1

Ich möchte ein Bash-Skript erstellen, das die Datei überwacht, ich frage mich nur, ob es möglich ist?

if(content in /dev/null == this){ 
    printf("Activated") 
} 
+3

Wenn Sie den Inhalt sehen möchten, leiten Sie ihn nicht an/dev/null. – SLaks

+1

hinzugefügt werden, ist der Zweck von/dev/null das Verwerfen der Ausgabe. Es gibt keine Möglichkeit, diese Funktion zu umgehen. Du musst das '>/dev/null 2> & 1' entfernen und dann' myCmd 2> & 1 | verwenden während Lesezeile; Fall "$ line" in diesem) printf ("Activated? \ n") ;; *): #colon_skips_input ;; esac; fertig (oder so ähnlich). Viel Glück. – shellter

Antwort

1

Wie gesagt in den Kommentaren, wenn Sie etwas zu /dev/null umleiten es verschwindet. Das ist der springende Punkt - wenn Sie sich für die Ausgabe interessieren würden, würden Sie sie nicht verdoppeln.

Was Sie tun können, ist jedoch in eine Datei zu umleiten:

> /path/to/logfile 2>&1 

und dann in regelmäßigen Abständen die Datei entfernen, sobald Sie seinen Inhalt geprüft haben.

+0

Danke, ich teste ein paar Dinge unter Metasploit und ich habe einen Exploit für ein Stück Kursarbeit ausgewählt. Es ist ein ProFTPD 1.3.3c-Exploit, bei dem der Code in ... geändert wurde. if (strcmp (Ziel, "ACIDBITCHEZ") == 0) {setuid (0); Setgid (0); System ("/ bin/sh;/sbin/sh"); } Die Metasploit-Skripts verwenden/dev/null 2> & 1 als Ausgabe für die Nutzlast. Ich wollte nur eine Möglichkeit, den Benutzer zu überwachen und zu warnen, wenn der Exploit aktiviert wurde. Gibt es eine Möglichkeit, den FTP-Befehlskanal zu überwachen und zu warnen, wenn er aktiv wird? – NathanK

+0

@NathanK: Ihre Antwort/Kommentar oben ist die Grundlage für eine interessante Frage. Wenn Sie Qs hier auf SO fragen, lernen Sie, einen vernünftigen Kontext für Ihr Problem zu geben (was Sie jetzt getan haben) UND Beispieleingaben (oder in Ihrem Fall Befehle), erforderliche Ausgaben, aktuelle Ausgaben und Fehlermeldungen (genau, nicht nur "Es funktioniert nicht"), zusammen mit Kommentaren darüber, warum Ihr aktueller Code Ihrer Meinung nach funktionieren sollte. Halte es kurz! Geben Sie den Experten hier etwas, das sie in ihr System kopieren und einfügen können und die gleichen Fehler bekommen. Ich empfehle Ihnen, ein neues Q basierend auf oben zu schreiben und dann dieses Q zu löschen. Viel Glück – shellter

+0

Entschuldigung, noch eine Sache, können Sie nur das Metaspoilt-Skript modifizieren, um die Umleitung zu '/ dev/null' zu entfernen? Das ist der einfachste Ausgangspunkt. Viel Glück. – shellter