On branch pseudocode

Changes to be committed:
	modified:   main.go
		Due tomorrow, only a few hours found for this project, so
		the choice to flesh out ideas in pseudocode was made.
pseudocode
Mike Holloway 3 years ago
parent 93fd6f916b
commit 54b52273da
  1. 60
      main.go

@ -1,6 +1,7 @@
package main
import (
"reflect"
//"./timer"
"time"
"fmt"
@ -14,6 +15,7 @@ import (
var tcp_data string = read_tcp_file("/proc/net/tcp")
func main() {
var loops int = 0
// How to split on space-delimited fields, then colon-delimited fields?
// How to turn this byte into a string?
@ -21,20 +23,28 @@ func main() {
// and then converted byte by byte (2 char at a time)
//fmt.Println(convert_address(reverse_string(reverse_bytes("0100007F"))))
// tensec := timer.New(10, "Second")
// onemin := timer.New(1, "Minute")
// tensec.Reset(
tensec := time.NewTimer(10 * time.Second)
onemin := time.NewTimer(1 * time.Minute)
// if !tensec.Stop() {
// fmt.Println("Done waiting 10 seconds!")
// }
fmt.Println("Waiting 10 seconds...")
<-tensec.C
tcp_rows(tcp_data)
fmt.Println("Waiting 1 minute...")
<-onemin.C
tcp_rows(tcp_data)
for _ = range time.Tick(10 * time.Second) {
fmt.Println("Waiting 10 seconds...")
for num, row := range get_tcp_rows(tcp_data) {
row_type := reflect.TypeOf(row)
fmt.Println(num, " ", row_type)
}
// if loops modulo 6 (1min) then
// for address in address_list do
// if (grep address address_list | wc -l >=3) then
// This is a port scan!
// fi
// done
// elseif (wc -l old_tcp_file > wc -l tcp_file) then
// for i in (wc -l tcp_file - wc -l old_tcp_flle) do
// print New Connection! reverse_strng(reverse_bytes(tcp_file[i])) // This oversimplifies row value selection for the sake
// // of pseudocode
// done
// else
// "No new connections. Waiting another 10 seconds..."
// fi
loops++
}
}
func check(e error) {
@ -43,17 +53,21 @@ func check(e error) {
}
}
func tcp_rows(connections_file string) {
regexpression := regexp.MustCompile(`[\r\n\t\v]+`)
tcp_lines := strings.Split(connections_file, "\n")
// Aiming for an array of [string]string maps
// Am I looking for a map[string]interface here?
func get_tcp_rows(connections_file string) []string {
tcp_lines := strings.Split(connections_file, "\n")
regexpression := regexp.MustCompile(`[\r\n\t\f\v]+`)
tcp_columns := regexpression.Split(tcp_lines[0], -1)
var tcp_values map[string]string
for _, line := range tcp_lines {
trim_line := strings.TrimSpace(line)
values := regexpression.Split(trim_line, -1)
// Debug
// fmt.Println("New Line ==========")
fmt.Println(values)
for i, line := range tcp_lines[1:] {
trim_line := strings.TrimSpace(line)
values := regexpression.Split(trim_line, -1)
column := tcp_columns[i]
tcp_values[column] = values
}
return tcp_values
}
// Take a string, create a rune slice, and use a loop to reverse it character-wise.

Loading…
Cancel
Save