While scouting about looking for information about the FriendlyArm's NanoPC-T2 GPIO pins and using some of their source - I noticed that the documentation regarding how to setup an LED for example was missing from their forums etc... Here is a quick example:
Recently went to setup a reverse SSH tunnel and had a few issues such as connections not being allowed, or otherwise. There is also a strong gotcha not documented clearly on the Internet, you can only have one connection per port on the intermediary host. If you want more than one host, you need to use multiple ports; sorry this is the way it is.
Before starting, make sure on BOTH hosts, install:
Protocol version set to: RFC 6241 (base:1.1)
Default target set to: <candidate>
Save operation mapped to: commit
Default with-defaults behavior: explicit
Additional with-defaults behavior: trim,report-all,report-all-tagged
As part of the processing of exploring some infrastructure for my thesis - I noticed that the SNMPD documentation needed some love despite the many eyes of the Internet. Here is how I set snmpd up in Ubuntu 15.10 for localhost access to IP-related information contained within the IP MIB.
I recently ran across some code for some students that was terribly written regarding sockets and upon helping them - I realized, that most examples just abhorrently throw all of the required code into the program with no function calls to help segment/make sense of it.
Here is my example programs - note that the actual socket code is wrapped up in socket.c & shared.h:
While setting up a research network, I needed to setup a router/gateway machine between my network lab and the IT managed network; they require a static MAC and wall-port so they can mantain "security" on their network. To get around this (and is approved because of my lab's status) - I needed to setup a machine that would act as a router. Here is the short and simple method to getting Ubuntu and DNSmasq setup.
For awhile, I have wanted to write a simple tutorial of in-line patching of binaries and in particular, changing the assembly instructions and having a binary skip to whatever function we desire manually. This involves tweaking the callq instruction (call can be altered too, but it refers to a static address vs. a relative address).
Okay so lets get started - this tutorial is written to alter one specific thing and assumes that you have some basic knowledge of assembly & know how to compile basic programs. I am also assuming that you could find strings within binaries and know how to convert values in hexadecimal.
The example to be used in this test application contains a main function, and two functions (function1 and function2) which print different messages. The goal of this exercise is to modify the application AFTER it has been compiled so that function2() is executed instead of function1().
Interestingly enough, Ubuntu 14.01 was unable to recognize my all-in-one SD card reader (Nextech is the brand) despite working in Windows land. Dmesg output was stating errors and assuming that this is just a generic USB device, I wondered if there was something at play, such as SCSI. I was correct and here are the two changes that are needed to make it work.