[C/C++] KSnoop [ v0.16 ] (Entwicklung voruebergehend eingestellt)

Dieses Thema im Forum "Projekte / Codes" wurde erstellt von Kolazomai, 17. Oktober 2007 .

  1. 17. Oktober 2007
    Zuletzt von einem Moderator bearbeitet: 16. April 2017
    KSnoop [ v0.16 ] (Entwicklung eingestellt - v2 online)

    Hallo zusammen,

    hab mich in den letzten paar Tagen mal hingesetzt, und ein kleines GrimsPing-aehnliches Tool gecoded.

    Bild

    Features

    • Multi-threaded Scanning
    • IP-Liste mit Port, User, Passwort
    • Schreib-Rechte
    • Delete-Rechte
    • Download-/Upload-Speed
    • Blacklisted Support mit '*' und '?' (Umfangreiche blacklist.txt beigelegt!)
    • Extra Threadpool fuer Up-/Download
    • Paths ueberpruefen
    • Optionale Filegroesse zum Test des Down-/Up-Speeds
    • Crossplatform-Kompatibilitaet
    • OpenSource (GPL)
    • Range-Scan
    • Optimierter Scanvorgan
    • Geringer Speicherverbrauch
    • Connection-Timeout
    • FTP-Response-Timeout

    Das Ganze ist ein CommandLine-Tool, hat also keine graphische Oberflaeche, weil ich wollte, dass man es bequem UEBERaLL (also auch auf STROs, Roots, etc.) ausfuehren kann.

    Informationen

    So schaut es aus:
    Code:
    kolazomai@inSan3 [~/release/KSnoop] 
    > ./ksnoop -h
    ******************
    ** KSnoop v0.16 **
    ** by Kolazomai **
    ******************
    Usage: ./ksnoop [OPTIONS [PaRaMETER]]
    
    Required:
     -f Text file with IP-addresses.
     -r Range to scan. Format [<start>-<stop>]
     -o File to write output to.
     -p Text file including paths to upload to.
    
    Optional:
     -s Bytes to upload for speedtest. [ Default: '8388608' bytes ]
     -t Threads to use for scanning. [ Default: '3' thread(s) ]
     -l Threads to use for up-/downloading. [ Default: '1' thread(s) ]
     -C Timeout for connecting. [ Default: '10' second(s) ]
     -F Timeout for FTP responses. [ Default: (FILESIZE / MIN_KBS) = '602' second(s) ]
    
    Miscellaneous:
     -h Shows this help.
    
    Examples:
     ./ksnoop -f ips.txt -o out.txt -p paths.txt -s 4718239 -t 5 -F 300
     ./ksnoop -r 0.0.0.0-255.255.255.255 -o out.txt -p paths.txt -C 7 -l 2
    
    Returns: '1' on FaILURE and '0' on SUCCESS.
    ---
    This program was developed by 'Kolazomai'.
    Please report bugs to UIN '233-316-556'.
    'ips.txt' und 'paths.txt' sollten im UTF-8 (ohne BOM) UNIX Format vorliegen, und keine Leerzeilen (auch keine 'abschliessende' Leerzeile) enthalten.

    Der Output in der 'out.txt' ist wie folgt:
    Code:
    <IP>
    ---------------
    Dir: /
    Deleteable: Yes
    Upload: 63.01 KB/s
    Download: 367.44 KB/s
    Ihr koennt in der 'ips.txt' auch den Login und den Port festlegen.

    auszug aus einer ips.txt:
    Code:
    [...]
    user:pass@127.0.0.1:1337
    127.0.0.2
    127.0.0.3:21
    [...]
    auszug aus einer paths.txt:
    Code:
    /
    /pub/
    /public/
    /pub/incoming/
    /incoming/
    /_vti_pvt/
    /upload/
    Tipps & Tricks

    Formel zum Berechnen, wie lange es maximal dauern koennte:
    Code:
    [(ip-addressen / threads) * connection-timeout] + {[(ip-addressen * wahrscheinlichkeit_fuer_treffer) / lade_threads] * ftp-timeout}
    Mit Variablen, die gleichzeitig die Parameter darstellen (a = anzahl der IP-addressen, P = Wahrscheinlichkeit fuer einen Pub):
    Code:
    ((a / t) * C) + (((a * P) / l) * F)
    wobei 0 <= P <= 1.

    Download

    v0.16 (current)

    Win32 standalone Binary (Ohne blacklist.txt und paths.txt; DLLs in die .EXE gepackt) (alternativ)
    Win32 Binary + Libraries (.DLLs) + blacklist.txt + paths.txt (.rar) (alternativ)
    Windows Source (Dev-Cpp) (alternativ)
    Linux Source (.tar.gz) (alternativ)


    v0.15 (old)

    Win32 standalone Binary (Ohne blacklist.txt und paths.txt; DLLs in die .EXE gepackt)
    Win32 Binary + Libraries (.DLLs) + blacklist.txt + paths.txt (.rar)
    Windows Source (Dev-Cpp)
    Linux Source (.tar.gz)


    v0.14 (old)

    Win32 standalone Binary (ohne blacklist.txt und paths.txt)
    Win32 Binary + Libraries + blacklist.txt + paths.txt (.rar)
    Windows Source (Dev-Cpp)
    Linux Source (.tar.gz)

    v0.13 (old)

    Win32 Binary
    Win32 Source (Dev-Cpp)
    Linux Source (.tar.gz)

    v0.12 (old)

    Win32 Binary
    Win32 Source (Dev-Cpp)
    Linux Source (.tar.gz)

    v0.11 (old)

    Win32 Binary
    Win32 Source (Dev-Cpp)
    Linux Source (.tar.gz)

    v0.1a (old)

    Windows Binary
    Windows Source (Dev-Cpp)
    Linux Source (.tar.gz)​

    Die Windows Binary ist mit 'MoleBox' gepackt. Kann also sein, dass eventuell einige antiVirProgramme euch warnen.

    andere Versionen

    v0.16b by terraNova

    Windows x86 Binary
    Windows x64 Binary

    Windows Source (angepasste build.bat)
    Linux Source (.rar)


    Development Requirements

    • GLib >= 2.8
    • libCURL

    Fuer Dev-Cpp koennt ihr euch GLib mit dem PaketManager runterladen, und dann auf eine neue Version upgraden. Entpack mich einfach in das Dev-Cpp-Verzeichnis.

    Lizenz

    KSnoop ist unter der GPL (OpenSource) lizensiert.
    Weitere Infos finden sich oben in den SourceFiles.

    Ueber Feedback, Verbesserungsvorschlaege, u.s.w. freue ich mich!

    Kontakt



    Bugs

    v0.13: Es steht Version v0.12 da, obwohl es v0.13 ist
    Bis v0.17: Bei Range-Scan gibts einen kleinen Memoryleak. Sollte aber nicht weiter stoeren.

    ---







    Mfg,

    Kolazomai
     
  2. 17. Oktober 2007
    AW: KSnoop - Snooping around on FTP Servers

    Idee gut, nur scannts bei mir extreeem langsam... Ka wieso werde wohl ma restarten.
    BTW der Name ****t extrem

    So long
    wirednaTure
     
  3. 17. Oktober 2007
    AW: KSnoop - Snooping around on FTP Servers

    Der Name kommt von
    Hm, normal sollte es 'normal' schnell sein ... Kommt halt sowohl auf die Server, als auch auf die eigene Verbindung als auch auf die Anzahl der Threads an.

    Mfg,

    Kolazomai
     
  4. 17. Oktober 2007
    AW: KSnoop - Snooping around on FTP Servers

    wie ich dir shcon gesgat habe, sehr nice tool, hab keine probs damit.

    ist nnochwa sumständlich da keine range unterstützung intigriert ist.

    * erkennt er auchnicht, aber dank dreamax kann ich ja hoffentlich gleich los scannen.

    gruß
     
  5. 21. Oktober 2007
    AW: KSnoop - Snooping around on FTP Servers

    Hoi!

    Hab noch bisschen rumgebastelt:

    v0.11

    Neue Funktionen:
    • Timeout fuer FTP Responses
    • Timeout fuer Connect / DNS Lookup / etc.
    • Ranges
    • Falls er zu einem Server connecten kann, testet er die restlichen Pathes nicht mehr aus

    Download ( siehe auch oben ) [ v0.11 ]

    Win32 Binary
    Win32 Source ( Dev-Cpp )
    Linux Source ( .tar.gz )

    Habs noch nicht grossartig getestet, weiss also nicht, ob es funktioniert
    Bitte Feedback und Bugs einfach reinschreiben.

    Mfg,

    Kolazomai
     
  6. 21. Oktober 2007
    AW: KSnoop - Snooping around on FTP Servers

    fein, jetzt mit range scan, dicke sache.

    denke werd jetzt komplett drauf umsteigen

    vielen dank für das klasse tool
     
  7. 23. Oktober 2007
    AW: KSnoop - Snooping around on FTP Servers [ v0.11 ]

    Hi!

    Paar Bugs gefixxed:

    v0.12

    Changes:
    • FTP Timeout wieder entfernt, da es sinnlos ist.
    • Timeout entfernt, da ConnectionTimeout
    • Connection Timeout added
    • Kleinere Bugfixes Optimierungen

    Download ( siehe auch oben ) [ v0.12 ]

    Win32 Binary
    Win32 Source ( Dev-Cpp )
    Linux Source ( .tar.gz )

    Habs ( wieder mal ) nicht grossartig getestet ... Sollte aber eigentlich recht fehlerlos funktionieren.

    Mfg,

    Kolazomai
     
  8. 26. November 2007
    AW: KSnoop - Snooping around on FTP Servers [ v0.12 ]

    Hey!

    v0.13

    Changes:
    • FTP Response Timeout
    • Up-/Download in einem extra ThreadPool

    Download ( siehe auch oben ) [ v0.13 ]

    Win32 Binary
    Win32 Source ( Dev-Cpp )
    Linux Source ( .tar.gz )

    Edit:
    Ups, hab vergessen die VERSIONS-Nummer zu aendern ... Es steht immer noch 0.12 da, es ist aber 0.13

    Mfg,

    Kolazomai
     
  9. 27. November 2007
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: KSnoop - Snooping around on FTP Servers [ v0.13 ]

    Hallo zusammen!

    v0.14

    Changes:
    • Blacklist Support ( mit '*' und '?' )
    • Abbruch des Scanvorgangs, wenn kein Pub vorhanden ( Login denied )
    • Kleinere Optimierungen am SourceCode

    Download ( siehe auch oben ) [ v0.14 ]

    Win32 Standalone Binary ( ohne blacklist.txt und paths.txt )
    Win32 Binary + Libraries + blacklist.txt + paths.txt ( .rar )
    Windows Source ( Dev-Cpp )
    Linux Source ( .tar.gz )

    Mfg,

    Kolazomai
     
  10. 17. Januar 2008
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: KSnoop - Snooping around on FTP Servers [ v0.15 ]

    Hey!

    Jetzt mit neuer LibCURL, etwas kleiner, weniger Libraries und auch schneller

    Download ( siehe auch oben ) [ v0.15 ]

    Win32 standalone Binary ( Ohne blacklist.txt und paths.txt; DLLs in die .EXE gepackt )
    Win32 Binary + Libraries ( DLLs ) + blacklist.txt + paths.txt ( .rar )
    Windows Source ( Dev-Cpp )
    Linux Source ( .tar.gz )

    Mfg,

    Kolazomai
     
  11. 1. Februar 2008
    AW: KSnoop - Snooping around on FTP Servers [ v0.15 ]

    Die neue Version ist nice.
    Funktoniert bei mir.

    Was passiert eigendlich wenn man:
    "-s Bytes to upload for speedtest. [ Default: '8388608' bytes ]" auf 0 setzt?
    Schaltet der dan die Uploadfunktion aus?

    mfg
     
  12. 1. Februar 2008
    AW: KSnoop - Snooping around on FTP Servers [ v0.15 ]

    Hey!

    Probiers aus

    Spoiler
    Code:
    [...]
     /* Size */
     case 's':
     config->filesize = (gulong)atol (optarg);
     if (!config->filesize)
     {
     g_print ("[!] parse_args.c: parse_opts (): Invalid argument \'%s\' to \'-s\': Resetting to \'%u\'...\n",
     optarg, PARSE_DEFAULT_FILESIZE);
     config->filesize = (gulong)PARSE_DEFAULT_FILESIZE;
     }
     else if (config->filesize <= UPLOAD_MINI_SIZE)
     {
     g_print ("[!] parse_args.c: parse_opts (): Invalid argument \'%s\' to \'-s\': "
     "It can't be smaller than the minifile ( \'%u\' bytes ): Resetting to \'%u\'!\n",
     optarg, UPLOAD_MINI_SIZE, PARSE_DEFAULT_FILESIZE);
     config->filesize = (gulong)PARSE_DEFAULT_FILESIZE;
     }
     break;
    [...]

    Ich glaube, die Grenze liegt bei 2MB.

    Mfg,

    Kolazomai
     
  13. 14. Februar 2008
    AW: KSnoop - Snooping around on FTP Servers [ v0.15 ]

    könntest ja noch eine gui-version zum download anbieten.

    danke
     
  14. 14. Februar 2008
    AW: KSnoop - Snooping around on FTP Servers [ v0.15 ]

    Hey!

    Ja, koennte eine mit GTK+ machen, aber da braucht man halt dann auch wieder mehr Libraries, und alles umzucoden ist ziemlich grosser Aufwand

    Wuerde das nur machen, wenn mehr Leute Interesse anmelden, ergo sich es dann auch rentiert.

    Vorschlaege fuer das GUI Layout ( z.B. einfach mit Photoshop oder Paint eins malen ) wuerden mich freuen.

    Mfg,

    Kolazomai
     
  15. 16. Februar 2008
    AW: KSnoop - Snooping around on FTP Servers [ v0.15 ]

    Du brauchst doch eigentlich nur ein GUI, dass das Programm mit
    den entsprechenden Parameter startet.
     
  16. 18. Februar 2008
    AW: KSnoop - Snooping around on FTP Servers [ v0.15 ]

    willst du das via Gui nur Local starten?
    Das wäre nicht ganz so schwierig, glaub aber nicht das das Interesse bestehet.

    mfg
     
  17. 1. März 2008
    AW: KSnoop - Snooping around on FTP Servers [ v0.15 ]

    ich spinn mal kurz rum zum thema GUI:
    geil wäre es ja wenn du dem prog eine art vernwart-funktion gibts. das heisst es soll möglich sein sich mit dem prog zu verbinden und ihm zu sagen "scann das und das und wenn du fertig bist mach das und das und schick mir ne mail" oder so XD
    oder wenn du wirklich nichts zu tun hast dann einen kleinen webserver einbauen und es dadurch möglich machen das ganze sehr komfortabel übern browser zu konfigurieren.

    das wäre aber wirklich dann die royal-version des programms XD
     
  18. 1. März 2008
    AW: KSnoop - Snooping around on FTP Servers [ v0.15 ]

    Hey!

    Das duerfte doch recht einfach mit einem PHP-Script gehen, oder?!

    1. Interface zu KSnoop ( IP-Liste, Range, ... die Optionen eben )
    2. Textbox mit der Output-Datei von KSnoop
    3. Texbox mit dem Output von KSnoop ( In eine .txt und dann immer fflush () en )
    4. Festlegung eines Events / Commands, das ausgefuehrt werden soll, wenn KSnoop beendet ist.

    Und so kann man dann, wenn man das Script aufruft, den Status checken ( wie weit es ist ) und evtl den Command aendern.
    Vielleicht will mir jemand sowas coden? Kann leider kein PHP

    Und hab sehr wenig Zeit fuer das Projekt momentan

    Mfg,

    Kolazomai
     
  19. 2. März 2008
    AW: KSnoop - Snooping around on FTP Servers [ v0.15 ]

    aber auf einem stroh wirst du nicht immer die möglichkeit haben eine php datei auszuführen
     
  20. 2. März 2008
    AW: KSnoop - Snooping around on FTP Servers [ v0.15 ]

    was ist ein "stroh" ?
    und doch man wird in 99% der fälle eine php ausführen können wenn man sich net blöd anstellt.

    cheers
     
  21. 2. März 2008
    AW: KSnoop - Snooping around on FTP Servers [ v0.15 ]

    Hey!

    Eben.

    Und ob das ganze jetzt mit CGI ( was Apache benoetigt ) oder mit PHP geloest wird, ist relativ egal.
    Einen kleinen Mini-Apache zu bauen, der "GET" und "POST" versteht, ist dann doch schon wieder komplizierter und zusaetzlicher Aufwand fuer fast dasselbe Ergebnis, meiner Meinung nach.

    Mfg,

    Kolazomai
     
  22. 2. März 2008
    AW: KSnoop - Snooping around on FTP Servers [ v0.15 ]

    Dann würde ich es doch am besten finden, KSnoop die möglichkeit zu geben über eine einfache socket-verbindung konfiguriert zu werden. das hat erstens den vorteil, das es nicht schwer einzubauen sein sollte und das jeder ohne viel aufwand seine eigene administrationsoberfläche bauen kann. egal ob mit php, C oder delphi und egal von wo ausgeführt.
    man kann ja per startparameter festlegen ob man diese möglichkeit nutzten möchte oder nicht und auf welchem port er lauschen soll, und ob das ganze als daemon laufen soll auch wenn er grad mal nichts zu tun hat etc.
    Man müsste sich dann halt nurnoch ein kleines Protokoll ausdenken aber sollte dann auch nicht das problem sein.

    greez myth
     
  23. 2. März 2008
    AW: KSnoop - Snooping around on FTP Servers [ v0.15 ]

    Hey!

    Ja, ist eine Idee. Die Optionen einfach per TCP-Stream setzen zu lassen.
    Ich hab aber zur Zeit sehr wenig Zeit, vielleicht komm ich aber dazu, das in den Osterferien zu implementieren

    Falls sich aber jemand bereit erklaert, sich in das Projekt einzubringen und das zu coden oder sonstige Hilfe zu leisten, stehe ich und der IRC-Channel gerne fuer Fragen zur Verfuegung. Ist ja relativ abgesondert vom restlichen Code.

    Mfg,

    Kolazomai
     
  24. 9. März 2008
    AW: KSnoop - Snooping around on FTP Servers [ v0.15 ]

    Is mir ein bisschen peinlich das zu sagen aber könntest du ne kleine faustregel erstellen für die arbeitsspeicheranforderungen von KSnoop?
    ich versuch grad mit meiem vhost zu scannen (128mb ram) und der bricht als ab mit "Cannot allocate memory" bei grade mal 50 threads. das sollte es ja eigendlich noch schaffen XD.
    ich lass ihn jetzt mit 5 threads laufen aber das macht kein spaß auf die dauer.
     
  25. 11. März 2008
    AW: KSnoop - Snooping around on FTP Servers [ v0.15 ]

    Währe echt n1 wenn du noch ne GUi dazu zaubern Würdest ... Gr33z
     
  26. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.