Skip to content

Instantly share code, notes, and snippets.

View shinobe179's full-sized avatar

shinobe179 shinobe179

View GitHub Profile
@shinobe179
shinobe179 / krrmp.py
Last active September 2, 2023 11:15
krrmp - AWSのセッションデータから、Liuxの環境変数設定コマンド、AWSCLIの~/.aws/credential、aws_enum_services.pyをすぐ利用できる形式のCLIを出力する
#!/usr/bin/env python3
import json
import sys
help_text = '''
krrmp - AWS session impersonation tool.
usage: krrmp [ -f <file_name> | -i ]
-f file_name : File name recorded session data as JSON.
alias: --file, f, file
@shinobe179
shinobe179 / scrapbox2md.py
Created October 2, 2022 15:13
Scrapbox内の記事をMarkdownにして、outputsというディレクトリに入れる。ScrapboxからNotionへ移行するためのもの。変換部分はカミナシ社のブログをそのまま参考にさせてもらった。
import sys
import json
import re
def converter(line):
# ref: https://kaminashi-developer.hatenablog.jp/entry/2021/03/26/110000
replace_patterns = [
{'name': 'heading1', 'scrapbox': r'\t*\[#*\*{3,}#* (.+)]', 'markdown': r'# \1'},
{'name': 'heading2', 'scrapbox': r'\t*\[#*\*{2}#* (.+)]', 'markdown': r'## \1'},
@shinobe179
shinobe179 / hydra_builder.py
Created January 3, 2022 11:08
Hydra(http-post-form)の引数を対話的に構築するツール
import re
cmd = 'hydra '
# username
while True:
use_list = input('use username list?[Y/n]: ')
if re.match(r'(y|yes|n|no)', use_list, re.I) or use_list == '':
break
@shinobe179
shinobe179 / translate_ipv4_from_dicimal.py
Last active November 21, 2020 17:09
IPv4がオクテット区切りなしの1つの10進数として扱われるのがつらい
#!/usr/bin/env python3
def translate_ipv4_from_dicimal(d):
ip = []
for i in range(0, 31, 8):
ip.append(str(int(bin(d).strip('0b')[i:i+8], 2)))
return '.'.join(ip)
if __name__ == '__main__':
@shinobe179
shinobe179 / sort_by_interface_and_number.py
Last active December 28, 2019 10:30
sorted()のkeyに指定すると、ネットワーク機器のインターフェイス名 + インターフェイス番号を数値としてソートできる(はず)
import re
def sort_by_interface_and_number(interface_name):
if re.search(r'[0-9]', interface_name):
interface_num_start = re.search(r'[0-9]', interface_name).start()
interface_type = interface_name[:interface_num_start]
interface_raw_number = interface_name[interface_num_start:]
interface_numbers = []
for i in range(len(interface_raw_number)):
@shinobe179
shinobe179 / gott.py
Last active December 24, 2019 05:03
ゴット推定(gott's estimation)…それまでの存在期間から、指定した信頼区間における将来の存在期間を推定する
import argparse
import sys
def gott(age, confidence_interval):
if confidence_interval >= 100:
sys.exit(1)
edge = (100 - confidence_interval) / 2
base = (confidence_interval + edge) / edge
@shinobe179
shinobe179 / reflect_struct.go
Created October 8, 2018 12:53 — forked from kwmt/reflect_struct.go
構造体のフィールド名、値をリフレクション(reflectパッケージ)を使って取得する。
package main
import (
"fmt"
"reflect"
)
type Hoge struct {
N int
}
@shinobe179
shinobe179 / netcat.py
Created September 19, 2018 22:38 — forked from leonjza/netcat.py
Python Netcat
import socket
class Netcat:
""" Python 'netcat like' module """
def __init__(self, ip, port):
self.buff = ""
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)