Skip to content

Instantly share code, notes, and snippets.

View picatz's full-sized avatar
Graph Theory

Kent Gruber picatz

Graph Theory
View GitHub Profile
@picatz
picatz / fake_lsof_parser.rb
Created November 6, 2016 07:35
pseudo code of an lsof parser I'd like to have
# pseudo code of an lsof parser I'd like to have
require 'lsof_parser'
# -P : Do not resolve port names
# -n : Do not resolve hostnames
data = Lsof::Parser.new( :arguments => "-Pn" )
data.each do |data|
data.pid
# => #<Lsof::Pid:23466:0x0000000126910>
@picatz
picatz / ip_info.py
Created November 12, 2016 22:11
Simple ip address information script to use as a demo for my python debugging blog post.
import sys
import requests
import json
# ip address is passed in as the first argument
ip = sys.argv[1]
# make a request to ipinfo.io containing the ip address
site_data = requests.get('http://ipinfo.io/' + ip).content
@picatz
picatz / print_debug.py
Last active November 12, 2016 23:04
Print debugging example
import sys
import requests
import json
print sys
print '1'
print sys.argv
print '2'
from ipdb import set_trace
import sys
import requests
import json
# set a breakpoint
set_trace()
# ip address is passed in as the first argument
ip = sys.argv[1]
# FILE : ~/.bash_profile
function Flip_Table {
if [ $? -ne 0 ]; then
echo "[ ╯ ' □']╯ ︵ ┻━┻ )" | lolcat -F 0.5
else
cur_dir=`pwd | awk -F '/' '{print $NF}'`
echo "𝛑猫 : $cur_dir" | lolcat -F 0.4
fi
}
# FILE : ~/.bash_profile
function Flip_Table {
if [ $? -ne 0 ]; then
flipr -f -l
else
cur_dir=`pwd | awk -F '/' '{print $NF}'`
echo "𝛑猫 : $cur_dir" | lolcat -F 0.4
fi
}
require "benchmark/ips"
def fast
require 'packetfu'
require 'em-proxy'
require 'webrick'
require 'rubydns'
require 'colorize'
require 'json'
require 'net/dns'
@picatz
picatz / fake_sample.log
Created December 27, 2016 18:22
A fake log for an article.
2016-08-11 17:32:18 | W | Failed login attempt 'admin' from IP 100.210.123.5
2016-08-16 07:31:42 | W | Failed login attempt 'admin' from IP 13.208.250.62
2016-08-16 07:31:45 | W | Failed login attempt 'admin' from IP 13.208.250.62
2016-08-16 07:31:45 | W | Failed login attempt 'admin' from IP 13.208.250.62
2016-08-16 07:31:47 | W | Failed login attempt 'admin' from IP 13.208.250.62
2016-08-16 07:31:47 | W | Failed login attempt 'admin' from IP 13.208.250.62
2016-08-16 07:31:50 | W | Failed login attempt 'admin' from IP 13.208.250.62
2016-08-16 07:31:50 | W | Failed login attempt 'admin' from IP 13.208.250.62
2016-08-16 07:31:52 | W | Failed login attempt 'admin' from IP 13.208.250.62
2016-08-16 07:31:52 | W | Failed login attempt 'admin' from IP 13.208.250.62
require 'time'
# This CustomLogParser class is meant to help with
# the heavy lifting of sifting through the data
# you can find in a custom log file.
class CustomLogParser
attr_reader :data # parsed data
def initialize(args ={})
@data = [] # initialized as an empty array
class CustomLogParser
# ... previous code
def timeline
return false unless any_data?
info = {}
@data.each do |d|
if info.keys.include?(d[:ip])
info[d[:ip]][:new] = d[:time]