Skip to content

Instantly share code, notes, and snippets.

@bprashanth
bprashanth / scrape_ips_netstat.sh
Last active February 26, 2025 11:32
Scrape ips from netstat for established ssh connections and reverse lookup the geolocation / auth method
#!/bin/bash
echo -e "\n**Current SSH Connections:**\n"
echo -e "IP Address\t\tAuth Method\t\tCountry"
# Get all active SSH connection IPs
netstat -napt | grep "ESTABLISHED.*ssh" | awk '{print $5}' | cut -d':' -f1 | sort -u | while read -r ip; do
# Check if the IP used a password
if sudo grep -E "Accepted password|Accepted publickey|Accepted keyboard-interactive|Accepted gssapi" /var/log/auth.log* | grep -q "$ip"; then
auth_method=$(sudo grep -E "Accepted password|Accepted publickey|Accepted keyboard-interactive|Accepted gssapi" /var/log/auth.log | grep "$ip" | awk '{print $9}')

Users

billa_telegram_bot> db.metadata.aggregate([ { $group: { _id: "$user_name", count: { $sum: 1 }, first_timestamp: { $first: "$timestamp" }, last_timestamp: { $last: "$timestamp" }} }] )
[
  {
    _id: 'sharda shinde',
    count: 161,
    first_timestamp: ISODate('2025-01-24T05:22:56.219Z'),
    last_timestamp: ISODate('2025-01-28T04:27:32.570Z')
  },
@bprashanth
bprashanth / schemaDefinitions.json
Last active November 17, 2024 06:30
schemaDefinitions.json
{
"siteId": {
"description": "The station identifier for the replantation site",
"type": "enum",
"values": ["station1", "station2", "station3", "station4", "station5"]
},
"studyId": {
"description": "An identifier for the study",
"type": "string"
},
@bprashanth
bprashanth / mongo.md
Last active August 8, 2016 21:04
Mongo petset

MongoDB is document database that supports range and field queries.

Replication

A single server can run either standalone or as part of a replica set. A "replica set" is set of mongod instances with 1 primary. Primary: receives writes, services reads. Can step down and become secondary. Secondary: replicate the primary's oplog. If the primary goes down, secondaries will hold an election. Arbiter: used to achieve majority vote with even members, do not hold data, don't need dedicated nodes. Never becomes primary.

apiVersion: v1
kind: Service
metadata:
name: echoheaders-lb
annotations:
service.alpha.kubernetes.io/only-node-local-endpoints: "true"
labels:
app: echoheaders-lb
spec:
type: LoadBalancer

First make your service type=NodePort

Then create an instance group in UI (console.cloud.google.com), with some pool of instances from one of your zones:

gcloud compute --project $PROJECT instance-groups create unmanaged $K8S_IG
gcloud compute --project $PROJECTinstance-groups unmanaged add-instances $K8S_IG --instances $NODE,$NODE_1...

Add the Service NodePort to the InstanceGroup:

gcloud compute --project $PROJECT instance-groups set-named-ports $K8S_G --named-ports svc1:$SVC1_NODE_PORT
apiVersion: v1
kind: Service
metadata:
name: echoheaders
labels:
app: echoheaders
spec:
type: NodePort
ports:
- port: 80
@bprashanth
bprashanth / simple_pv.yaml
Last active June 20, 2016 22:01
simple pv
apiVersion: v1
kind: PersistentVolume
metadata:
name: test
spec:
capacity:
storage: 200Gi
accessModes:
- ReadWriteOnce
gcePersistentDisk:
@bprashanth
bprashanth / laundry.sh
Created June 15, 2016 21:31
packet laundering
#! /bin/bash
until (ifconfig cbr0); do
echo waiting for cbr0
sleep 1
done
CIDR_PREFIX="$(ifconfig cbr0 | grep inet | awk '{print $2}' | awk -F ':' '{print $2}' | awk -F '.' '{print $1"."$2"."$3}')"
echo found CIDR prefix: $CIDR_PREFIX
ip netns add k8s_hairpin_workaround
echo created packet laundering netns k8s_hairpin_workaround