Changes to be committed: modified: .gitignore new file: main.go New Functions: Inelegant hex->dot-decimal address translation solutionread-file-error-check
parent
173e354269
commit
828a0193aa
2 changed files with 62 additions and 0 deletions
@ -1 +1,2 @@ |
||||
.*.sw* |
||||
main |
||||
|
@ -0,0 +1,61 @@ |
||||
package main |
||||
import ( |
||||
"fmt" |
||||
"strings" |
||||
"regexp" |
||||
"io/ioutil" |
||||
"encoding/hex" |
||||
) |
||||
|
||||
|
||||
func main() { |
||||
// How to split on space-delimited fields, then colon-delimited fields?
|
||||
// How to turn this byte into a string?
|
||||
|
||||
// /proc/net/tcp hex addresses need to be reversed two-character-wise
|
||||
// and then converted byte by byte (2 char at a time)
|
||||
//fmt.Println(convert_address(reverse_string(reverse_bytes("0100007F"))))
|
||||
|
||||
read_tcp_file("/proc/net/tcp") |
||||
} |
||||
|
||||
func check(e error) { |
||||
if e != nil { |
||||
panic(e) |
||||
} |
||||
} |
||||
|
||||
|
||||
// Take a string, create a rune slice, and use a loop to reverse it character-wise.
|
||||
func reverse_bytes(s string) string { |
||||
runes := []rune(s) |
||||
for i, j := len(runes)-2, len(runes)-1; j > 0; i, j = i-2, j-2 { |
||||
runes[i], runes[j] = runes[j], runes[i] |
||||
} |
||||
return string(runes) |
||||
} |
||||
|
||||
func reverse_string(s string) string { |
||||
runes := []rune(s) |
||||
for i, j := 0, len(runes)-1; i < j; i, j = i+1, j-1 { |
||||
runes[i], runes[j] = runes[j], runes[i] |
||||
} |
||||
return string(runes) |
||||
} |
||||
// Store data function
|
||||
// Loads all fields and subfields into storage (memory? where?)
|
||||
// State check function
|
||||
// hash each line, use to determine new lines, convert to readable, and print
|
||||
|
||||
|
||||
func convert_address(address string) []byte { |
||||
output, err := hex.DecodeString(address) |
||||
check(err) |
||||
return output |
||||
} |
||||
func read_tcp_file(connections_file_path string) string { |
||||
data, err := ioutil.ReadFile(connections_file_path) |
||||
check(err) |
||||
fmt.Println("Data file read successfully.\n") |
||||
return string(data) |
||||
} |
Loading…
Reference in new issue