port.rst
author Oleksandr Gavenko <gavenkoa@gmail.com>
Thu, 05 Mar 2009 10:41:33 +0200
changeset 47 26c7669c3d49
parent 28 6c01de88f39e
child 735 5c437e2d5fe1
permissions -rw-r--r--
About Python.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
28
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     1
-*- outline -*-
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     2
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     3
* Port forwarding.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     4
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     5
  $ ssh -L 8888:www.linuxhorizon.ro:80 user@computer -N
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     6
  $ ssh -L 8888:www.linuxhorizon.ro:80 -L 110:mail.linuxhorizon.ro:110 \
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     7
    25:mail.linuxhorizon.ro:25 user@computer -N
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     8
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
     9
The second example (see above) show you how to setup your ssh tunnel for web, pop3
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    10
and smtp. It is useful to recive/send your e-mails when you don't have direct access
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    11
to the mail server.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    12
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    13
For the ASCII art and lynx browser fans here is illustrated the first example:
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    14
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    15
   +----------+<--port 22-->+----------+<--port 80-->o-----------+
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    16
   |SSH Client|-------------|ssh_server|-------------|   host    |
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    17
   +----------+             +----------+             o-----------+
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    18
  localhost:8888              computer      www.linuxhorizon.ro:80
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    19
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    20
* Port listening.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    21
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    22
Connect to a server:
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    23
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    24
  $ nc hostname port
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    25
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    26
Be a server:
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    27
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    28
  $ nc -l -p port
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    29
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    30
* Simple filetransfer.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    31
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    32
Serve a file:
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    33
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    34
  $ nc -l -p port < file
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    35
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    36
Receive a file:
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    37
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    38
  $ nc hostname port > file
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    39
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    40
* Filesystem cloning.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    41
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    42
Serve the filesystem:
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    43
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    44
  $ tar cOPp --same-owner / | nc -l -p port
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    45
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    46
Receive the filesystem:
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    47
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    48
  $ nc -w3 hostname port | tar xPp
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    49
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    50
* Disk cloning.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    51
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    52
Serve the disk image:
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    53
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    54
  $ dd if=/dev/hda | nc -l -p port
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    55
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    56
Receive the image:
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    57
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    58
  $ nc -w3 hostname port | dd of=/dev/hda
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    59
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    60
* Encrypted, compressed and IP restricted filetransfer.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    61
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    62
If combining encryption and compression, be sure to compress first then
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    63
encrypt when sending and reverse the order for receiving. Do not attempt to
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    64
encrypt then compress. Compression works by finding patterns which are
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    65
destroyed intentionally by the process of encryption. Also, though not
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    66
required, specifying the IP address of the host that will be transferring the
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    67
file is a good idea.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    68
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    69
Serving a compresssed, encrypted file from 192.168.0.1 to 192.168.0.2:
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    70
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    71
  $ gzip -c < file | openssl aes-128-cbc -e -k thispassword | nc -l 192.168.0.2 12345
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    72
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    73
Receiving, decrypting and decompressing that file:
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    74
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    75
  $ nc 192.168.0.1 12345 | openssl aes-128-cbc -d -k thispassword | gunzip -c > file
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    76
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    77
* Scan with nmap.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    78
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    79
TODO
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    80
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    81
* Scan with netcat.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    82
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    83
  $ nc -v -w 2 -z hostname portrange
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    84
  $ nc -v -w 2 -z hostname portlisting
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    85
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    86
Where portrange is for example "10-20" to scan all ports between 10 and 20,
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    87
portlisting is for example 11,20,135 will scan these ports.
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    88
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    89
I just tried this on windows xp, and the comma separated list of ports does
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    90
NOT work. Instead, use space separated list. eg:
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    91
Oleksandr Gavenko <gavenkoa@gmail.com>
parents:
diff changeset
    92
  cmd> nc.exe -vv -w 2 -z www.example.com 20-25 79 80 110 137-139 443