Convert UTF-8 to UTF-16

To convert a UTF-8 encoded file to UTF-16, you can use iconv on the command line:

iconv -f utf-8 -t utf-16 oldfile > newfile

Posted in Linux | Comments Off on Convert UTF-8 to UTF-16

SSL Tunneling

To connect to MySQL through a tunnel

Open a tunnel on your local machine listening on localhost:3307 and forwarding everything to the mysqlserver server on port 3306, and doing it all via the ssh service on the gateway machine.

ssh -L 3307:domain.name.of.mysqlserver:3306 username@domain.name.of.gatewayserver

Now start mysql connecting to localhost on the port that you are tunneling mysql from the mysql server.

mysql -u username -p -h 127.0.0.1 -P 3307 databasename

mysql assumes it’s connecting to localhost, but on a non-standard port. In fact, the connection is being made securely to the remote mysql server, via the gateway machine and the local “mouth” of the ssh tunnel on your own machine.

—————————————————

tunnel all outbound E-mail traffic back to my personal server to avoid having to change SMTP servers when I am behind firewalls.

ssh -f user@personal-server.com -L 2000:personal-server.com:25 -N

—————————————————-

to send my Google Talk traffic encrypted through the firewall back to my server at home and then out to Google.

ssh -f -L 3000:talk.google.com:5222 home -N

—————————————————

Posted in Linux | Comments Off on SSL Tunneling

OpenSSH Legacy Options

If you are using an updated openssh package and suddenly can’t connect to sites that you could before the update, you can add an option to your .ssh/config file (create it if you don’t have one).

If you see this error:

Unable to negotiate with 127.0.0.1: no matching key exchange method found.
Their offer: diffie-hellman-group1-sha1

add this:

Host somehost.example.org
KexAlgorithms +diffie-hellman-group1-sha1

If you see this error:

Unable to negotiate with 127.0.0.1: no matching host key type found.
Their offer: ssh-dss

add this instead:

Host somehost.example.org
HostkeyAlgorithms ssh-dss

There are command line versions of these as well.

ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 user@127.0.0.1

ssh -oHostKeyAlgorithms=+ssh-dss user@127.0.0.1

Note: It is worth noting that these weaker cyphers were removed from the configuration for a reason. If there is another way to connect without enabling them, it might be worth considering.

Posted in Linux | Comments Off on OpenSSH Legacy Options

Fun with Telnet

telnet can be used to connect you to servername on a specified port. You can gather information from the data returned from that connection:

telnet servername.com port

Then type:

HEAD / HTTP/1.0

bash-3.2# telnet 310.210.7.222 80
Trying 310.210.7.222…
Connected to servername.com.
Escape character is ‘^]’.
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Date: Fri, 20 May 2016 15:00:24 GMT
Server: Apache/2.2.3 (Red Hat)
X-Powered-By: PHP/5.3.3
Connection: close
Content-Type: text/html; charset=UTF-8

You can see from this example, that the Apache version and the PHP version are available via this method.

Posted in Linux | Comments Off on Fun with Telnet

Ping Gone Wild

ping – probes hosts on the attached network link by sending icmp packets sent over IP
tcping – reports the reachability and round-trip time of an IP address hosted on the local network
arping – probes hosts on the attached network link by sending Link Layer frames using the Address Resolution Protocol (ARP) request method addressed to a host identified by its MAC address of the network interface.

Posted in Linux | Comments Off on Ping Gone Wild

Kernel information – Supported Filesystems

#List filesystems your kernel supports
awk ‘/# File systems/,/# Partition Types/’ /boot/config-$(uname -r)* | less

#List filesystems available in your kernel
find /lib/modules/$(uname -r)/kernel/fs/

#To list the filesystems supported by running kernel and currently loaded modules
cat /proc/filesystems

Posted in Kernel Stuff, Linux | Comments Off on Kernel information – Supported Filesystems

Case Sensitivity in various Filesystems

When a filesystem is created, case-sensitivity and case-preservation is configurable.

In Unix filesystems, filenames are usually case-sensitive.

Windows is a mish-mash of case-sensitivity:
FAT12 filesystem was case-insensitive
Windows filesystems (VFAT, FAT32) are not case-sensitive but are case-preserving
NTFS is case-sensitive, but the API for file access in Windows applications is case-insensitive, which makes filenames case-insensitive from the application’s point of view.

Mac OS is unusual in that it uses HFS+ in a case insensitive but case preserving mode by default. (reset with http://www.digitaltransitions.ca/blog/files/acl-settings.php)

Posted in Linux | Comments Off on Case Sensitivity in various Filesystems

How to get readable output from df on HP-UX

df -Pk | awk ‘
BEGIN {print “Filesystem Mount Point Total GB Avail GB Used GB Used”
print “———————————– ————————- ———- ———- ———- —–“}
END {print “”}
/dev/ || /^[0-9a-zA-Z.]*:\// {
printf (“%-35.35s %-25s %10.2f %10.2f %10.2f %4.0f%\n”,$1,$6,$2/1024/1024,$4/1024/1024,$3/1024/1024,$5)
}’

Posted in Linux | Comments Off on How to get readable output from df on HP-UX

How to tell if a system is virtual or physical (linux)

sudo dmidecode |grep “Product Name:” |head -1

If the above command doesn’t work:

dmidecode |grep -i “vm”

will return nothing on a virtual system and something like “VME (Virtual mode extension)” on a host system.

Posted in Linux | Comments Off on How to tell if a system is virtual or physical (linux)

Analyzing kernel core dumps on Red Hat

On a Red Hat system, look for the crash command:

http://magazine.redhat.com/2007/08/15/a-quick-overview-of-linux-kernel-crash-dump-analysis/

Posted in Linux | Comments Off on Analyzing kernel core dumps on Red Hat