changeset 26:1b293bb0a011

add gomatrix.
author pyon@macmini
date Sat, 02 Feb 2019 10:35:24 +0900
parents 2afa7e0ff1f2
children 3d6709f41037
files src/gomatrix.go src/ut/main.go
diffstat 2 files changed, 54 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/gomatrix.go	Sat Feb 02 10:35:24 2019 +0900
@@ -0,0 +1,41 @@
+package main
+
+import (
+	"flag"
+	"fmt"
+	"math/rand"
+	"runtime"
+	"time"
+)
+
+func main() {
+	sw := flag.Int( "w",  40, "screen width" )
+	sl := flag.Int( "s", 100, "interval" )
+	flag.Parse()
+
+	s := "0123456789abcdefghijkemnopqrstuvwxyzABCDEFGHIJKEMNOPQRSTUVWXYZ!@#$%&*|;:.,=+-/"
+	n := len( s )
+	r := 0
+	for i := 1 ; ; i++ {
+		r = rand.Intn( n )
+		fmt.Printf( "%s ", random_color( s[r] ) )
+		if i == *sw {
+			for t := 0; t < *sl; t++ {
+				time.Sleep( time.Millisecond )
+			}
+			fmt.Println()
+			i = 0
+		}
+	}
+}
+
+func random_color( s byte ) string {
+	if runtime.GOOS == "windows" {
+		return string( s )
+	}
+	// black, red, green yellow, blue, magenta, cyan, white
+	c := [...]int{ 30, 31, 32, 33, 34, 35, 36, 37 }
+	r := rand.Intn( len( c ) )
+	return fmt.Sprintf( "\x1b[%dm%c\x1b[0m", c[r], s )
+}
+
--- a/src/ut/main.go	Wed Aug 08 04:59:50 2018 +0900
+++ b/src/ut/main.go	Sat Feb 02 10:35:24 2019 +0900
@@ -55,8 +55,8 @@
     var replace  = flag.Bool( "r", false, "replace strings. ( s/arg1/arg2/g )" )            // ok
     var nc       = flag.Bool( "nc",  false, "netcat." )                                     // ok
     var ncl      = flag.Bool( "ncl", false, "netcat listen-mode." )                         // ok
-    var fserver  = flag.Int( "fs", 0, "file server" )                                       // ok
-    var wserver  = flag.Int( "ws", 0, "web server" )                                        // ok
+    var fserver  = flag.Int( "fs", 0, "file server." )                                      // ok
+    var wserver  = flag.Int( "ws", 0, "web server." )                                       // ok
 
     var msleep   = flag.Bool( "M", false, "sleep." )
     //var swatch   = flag.Bool( "W", false, "stop watch." )
@@ -72,6 +72,7 @@
     var migemo   = flag.Bool( "m", false, "migemo tool." )
     //var split    = flag.Int(  "s",   100, "split file ( default 100 MB )." )
     var ipscan   = flag.Bool( "p", false, "ping." )
+    var ptscan   = flag.Int( "P", 0, "port scan." )
     var minfo    = flag.Bool( "i", false, "print machine infomation." )                     // half-ok
 
     //var imgsz    = flag.String( "is", "", "resize image" )
@@ -323,6 +324,16 @@
         os.Exit( 2 )
     }
 
+    if *ptscan != 0 {
+        fmt.Fprintln( os.Stderr, "not implement" )
+        fmt.Fprintln( os.Stderr, "$ ut -P 1 192.168.0.101 3000 # vanilla scan\n" )
+        fmt.Fprintln( os.Stderr, "$ ut -P 2 192.168.0.101 3000 # syn scan\n" )
+        fmt.Fprintln( os.Stderr, "$ ut -P 3 192.168.0.101 3000 # fin scan\n" )
+        fmt.Fprintln( os.Stderr, "$ ut -P 4 192.168.0.101 3000 # Xmas scan\n" )
+        fmt.Fprintln( os.Stderr, "$ ut -P 9 192.168.0.101 3000 # null scan\n" )
+        os.Exit( 2 )
+    }
+
     if *compress && !*putfile {  // done.
         if err := is_exist_files( flag.Args() ); err != nil {
             log.Fatal( err )