18 October, 2010

Download flash videos in Ubuntu without any application

Here is a simple trick that you can use to download your favourite flash videos from Youtube or metacafe without any application. You can stop your search for an apt application for downloading youtube videos... installing it on linux...Just leave everything...


Just login to the youtube and click on some videos to play it.


While the video is streaming, check the /tmp folder in the Ubuntu's file system. There you can see the same video file being updated with filename like Flash26YGf2.flv


You can copy this video file to some other place to make it viewed later. If you reload the the webpage or open some other video in the same tab/window of the web browser then the previous video file will be overwritten with the new one. So better is to copy the flash video file just after it is completely buffered in the web browser.


This tip has one another advantage too. If you want to see the end part of a flash video file which is about 1 hour length, you dont need to download the complete video from the beginning. You can seek the video into desired portion in the website. Then video file in the tmp directory will be starting from the new positon to which you seeked it.


So this technique is simple and cool where you need only a flash video player embedded in the web browser only to save the video. This methode can be used in situation where you  can play  video but blocked from downloading it since you have no account registered in those websites.
Read rest of entry

14 October, 2010

How to add sudo to last command typed in bash terminal



Its most common that you might forget to type in the 'sudo' command along with some other commands. I have faced this problem many times and usually end up by typing the entire command with sudo keyword again. Here is a technique that we can use to avoid retyping the command again after typing sudo.

Consider that i have to install a package called blueman system with the apt package manager via the terminal. Here i am not adding the sudo command before the apt command



Then type the following command to avoid rexecuting the command with all permissions

 $ sudo !!


See here the bash automatically retyped the command with sudo. 



Read rest of entry

11 October, 2010

Troubleshooting Network problems in Ubuntu


                Internet connectivity is one of the important means of communication in todays life. So troubleshooting the problems in our own networks or reconfiguring it for the easiness is not to be praised as a "geekness". In my opinion you don't need to be a geek for setting an internet connection or recovering your machine from a network problem.

Before getting into more troubles just checkout wheather the physical network components (cables, NICs, and so on) are connected properly and working. If everything is right then proceed to the following steps



Checking the Connectivity to a Host

The troubleshooting is done in a bottom up manner. So we will troubleshoot the network layer first and then move on to transport layer. Here we will check the connetivity by pinging  to your default gateway. You should have either configured the default gateway in the /etc/network/interfaces file, i have written a post about it in the last month or leave it to the system using service such as DHCP. To check your default gateway in the actual routing table, use the ip command as follows:

$ ip route


The gateway for the default route in this example is  192.168.0.5 To make sure wheather there is internet connectivity to that gateway, use the ping command as follows, passing the address for your default gateway:

$ ping 192.168.0.5

By default, ping continues until you press Ctrl+c. Other important ping options include the following:
$ ping -a 10.0.0.1
            [You can here a buzzer sound @ each pings]
$ ping -c 4 10.0.0.1 
            [Ping 4 times and exit (default in Windows)]
$ ping -q -c 5 10.0.0.1 
            [Show summary of pings (works best with -c)]
$ sudo ping -f 10.0.0.1 
            [Send a flood of pings (must be root)]
$ ping -i 3 10.0.0.1 
            [Send packets in 3-second intervals]
$ sudo ping -I eth0 10.0.0.1  
            [Set source to eth0 (use if multiple NICs)]



Use the ping flood option with caution, if the packet size is larger than usual  it can cause connections to stand out.

Checking Address Resolution Protocol (ARP)


If you’re not able to ping your gateway, you may have an issue at the Ethernet hardware address layer. The Address Resolution Protocol (ARP) can be used to find information at the MAC layer (hardware layer). 

ARP stands for Address Resolution Protocol, which is used to  find  the  media  access control [MAC] address of a network neighbour for a given IP Address.


To view and configure ARP entries, we can use the arp or ip neighbor command. Arp  command displays  the  kernel’s IPv4 network neighbour cache. It can add entries to the table, delete one or display the current content.

$ arp -v    [List ARP cache entries by name]



Above command will show the names of other computers that the local computer’s ARP cache knows about and the associated hardware type and hardware address of each computer’s NIC. You can disable name resolution to see those computers’ IP addresses instead of the hostname by using the following command:

$ arp -vn     [List ARP cache entries by IP address]

          To delete an entry from the ARP cache, use 
          the -d option:
              $ sudo arp -d 10.0.0.50
                   [Delete address 10.0.0.50 from ARP cache]

          Instead of just letting ARP dynamically learn 
          about other systems, you can add static ARP 
          entries to the cache using the -s option:
               $ sudo arp -s 10.0.0.51 00:0B:6A:02:EC:95


To query a subnet to see if an IP is already in use, and to find the MAC address of the device using it, use the arping command. The arping command continuously queries for the address until the command is ended by typing Ctrl+c. Typically, you just want to know if the target is alive, so you can run one of the following commands:

$ arping -f 10.0.0.50 
[Query 10.0.0.50 and stop at the first reply]

                      
$ arping -c 2 10.0.0.51 
[Query 10.0.0.50 and stop after 2 counts]


Tracing Routes to Hosts

After verifying that you can ping your gateway and even reach machines that are outside of your network you can use traceroute (traceroute package should be installed) to find the problem correctly.

$ traceroute  www.mywebsite.com  
[Follow the route taken to a host]
 

If there are lines of asterisks (*) in the end of  the list  it is because of the firewalls inside your office/college network that block traffic to the target. However, if you see several asterisks before the destination, those can indicate congestion or network failures and points to bottleneck issues.

traceroute command options are
$ traceroute -I www.google.com 
                        Use ICMP packets to trace a route
$ traceroute -p 25 www.google.com 
                        Connect to port 25 in trace
$ traceroute -n www.google.com 
                        Disable name resolution in trace
$ tracepath www.google.com 
                        Use UDP to trace the route

Using the ip command...
You can do the same activities with ip command similar to route command. Here are three different ways to show the same basic routing information:

$ ip route show 
[Display basic routing information]

options for adding and deleting routes with ip are as follows:
$ sudo ip r add 192.168.0.0/24 via 10.0.0.100 dev eth0                  - Add route to interface
$ sudo ip r add 192.168.0.0/24 via 10.0.0.100  
                           - Add route no interface
$ sudo ip r del 192.168.0.0/24 
                           - Delete route

To make a new route permanent, edit the /etc/network/interfaces file and place the information about the new route in that file. For example, to add the route added with the ip command above, add the following lines to /etc/network/interfaces:
       iface eth0 inet static
    address 192.168.0.0
    netmask 255.255.255.0
    gateway 10.0.0.100

Read rest of entry

09 October, 2010

How to use a pendrive as RAM in Windows


ReadyBoost enables you to plug a USB key into your machine and have Windows Vista use it as memory. I have seen this option "Speed up my system" many times when ever  I plug any USB device into my pc. But not taken it into consideration... And now it is the time to do it and share with you all...

Installation/Configuration
Plug the USB into your machine running Windows Vista/7.
Upon plugging the thumb, the autoplay dialog box will pop with many options how to treat the pen drive just inserted. You can see the "Speed up my system" option in the autoplay dialog box.

Once you click the "Speed up my system" option, the Properties dialog box for the device is displayed where you can specify to start/stop ReadyBoost usage of the device and how much space that can be used as a memory cache. This space is used more as a flash-based page file than true RAM, but the impact is that the more space you choose here, the more benefit you’ll get in terms of overall system performance.

The device properties dialog box will allow you to turn on/off ReadyBoost and to set the exact size of the cache.

(In order to return to this dialog box, open the Computer window, right-click the drive (H: in this case) and select Properties. From there, click the Memory tab (as shown in the previous screen capture and adjust the settings as needed).

Opening the drive in an Explorer window reveals that ReadyBoost has created a cache file of the specified size.

While ReadyBoost will work with other devices – such as SD Card, CompactFlash, etc. – I’ve only used it with a USB key and here are the baseline requirements the team gave me regarding what ReadyBoost will work with:

     +  The USB drive must be at least USB 2.0
     +  The USB Key has to have at least 64mb of free space


Read rest of entry

07 October, 2010

Complete reference to SSH tunnelling

an introduction . . .

In simple words tunneling is a method of bypassing firewall or proxy restrictions using some tunnelling protocols. It works by creating a "tunnel", or a communications channel that makes the firewall think that it is getting traffic from a web browser. Communications content is delivered through this tunnel to our gateway or your own personal gateway. The gateway extracts your content from the tunnel and sends it to the destination. When your counter party responds everything goes back the same way. Tunnelling can be used when your company, college, university, ISP blocked certain programs, FTP, telnet.

On the other hand, tunneling can also allow inherently insecure protocols to cross your firewall. For this reason, it may be advantageous to use a firewall solution that does content based checking of HTTP connections, so that you can disallow connections that are actually tunneling other protocols. This can be quite difficult to do. SSH tunnelling techniques have a wide range of applications among the other tunnelling protocols.  


SSH tunnelling ...
To set up an SSH tunnel, one configures an SSH client to forward a specified local port to a port on the remote machine. Once the SSH tunnel has been established, the user can connect to the specified local port to access the network service. For setting up the ssh application in your machine please  read my previous post from here

A Secure Shell (SSH) tunnel consists of an encrypted tunnel created through an SSH protocol connection. Users may set up SSH tunnels to transfer unencrypted traffic over a network through an encrypted channel.

Configuring the ssh tunnel

X11 forwarding
Ubuntu comes with X11 forwarding facility for the server. We have to enable for the current session only on the client side using the following command 

$ ssh –X  user@myserver

To enable X11 forwarding permanently, you should edit the file ssh_config as sudo  as follows

    $ sudo gedit /etc/ssh/ssh_config

     # for all users, add the line ForwardX11 yes

     # To enable it permanently for a specific user 
         only, add the line to that user’s ~.ssh/config file.
 
Once that setting has been added, the -X option is no longer required to use X11 Tunneling. Run ssh command to connect to the remote system as you would normally. 

To test that the tunneling is working, run xclock after ssh’ing into the remote machine, and it should appear on your client desktop.Thus SSH Tunneling is an excellent way to securely use remote graphical tools!

Logging in Remotely with ssh


To securely log in to a remote host, you can use either of two different syntaxes to specify the user name:

$ ssh -l  user  myserver
or
$ ssh user@myserver

 
Accessing SSH on a Different Port

For security purposes, a remote host may have its SSH service listening a different port than the default port number 22. If that’s the case, use -p option to ssh to contact that service:

$ ssh -p 12345 user@myserver.com
[Connect to SSH on port 12345]


Applications

One of the important advantage of the SSH is that you can forward any TCP port with SSH. This is a great way to configure secure tunnels quickly and easily. No configuration is required on the server side.

Tunneling for remote X11 Clients  

                   
                Inorder to use applications that are available on a remote machine follow the steps

1.[Start ssh connection to myserver]
$ ssh user@myserver
Then terminal for prompt for the password

2.Run the applications
 
$ echo $DISPLAY    -Show the current X display entry
$ xeyes                  -Show moving desktop eyes
$ gnome-cups-manager     -Configure remote printers
$ gksu services-admin       -Change system services
$ firefox                             -starts the web browser

Tunneling for Remote Printing Administration               
                 Let myserver is a print server with the CUPS printing service’s web-based user interface enabled (running on port 631). That GUI is only accessible from the local machine. We tunnel to that service in myserver from the client pc using ssh with the following options:

$ ssh -L 1234:localhost:631 myserver

This example forwards port 1234 on the client PC to localhost port 631 on the server. We can now browse to http://localhost:1234 on the client PC. This will be redirected to cupsd listening on port 631 on the server.

Tunneling to an Internet Service
 

                 Another example for using SSH tunneling is when your local machine is blocked from connecting to the Internet (using proxies, firewalls ...), you can get to another machine (myserver) that has an Internet connection and utilize its connectivity.

The following example lets you visit the Google.com web site (HTTP, TCP port 80) across an SSH connection to a computer named myserver that has a connection to the Internet:

$ ssh -L 12345:google.com:80 myserver

With this example, any connection to the local port 12345 is directed across an SSH tunnel to myserver, which in turn opens a connection to Google.com port 80. You can now browse to http://localhost:12345 and use myserver as a relay to the Google.com web site. 

Since you’re only using ssh to forward a port and not to obtain a shell on the server, you can add the –N option to prevent the execution of remote commands:

$ ssh -L 12345:google.com:80 –N myserver
 

Tunnelling to use SSH as a SOCKS Proxy 

                 Inorder to utilize the full power of tunnelling the best way is to get your browser traffic out of your local network via an encrypted tunnel is using the SSH built-in SOCKS proxy feature.This will make you anonymous (in ip) in the outside world and let you break through the firewall/proxy restrictions imposed on your network.

$ ssh -D 12345 myserver

The dynamic (-D) option of ssh lets you log in to myserver (as usual). As long as the connection is open, all requests directed to port 12345 are then forwarded to myserver.

Next, set your browser of choice to use localhost port 12345 as a SOCKS v5 proxy. Do not enter anything on the fields for HTTP and other protocols, They all work over SOCKS.




Let me conclude...

The SSH tunnelling can be used as a power tool for comunication in environments where limited connectivity is available due to proxies, firewalls and content filtering mechanisms. It provides a secure encrypted channel channel to hide your data from being monitored by anyone. Also the remote access concept will bring your office into your bedroom so that you can login and work on your office machine with your home pc....
Have a nice time in tunnelling ... 

Read rest of entry

05 October, 2010

apt package manager : options & tricks

APT package manager in Debian systems can be used to download and install packages from online repositories. The APT commands (apt-get, apt-cache, and so on) can be used to install packages locally. However, it’s normally used for working with online software.

sudo apt-get update
Consults /etc/apt/sources.list and updates the database of available packages. Be sure to run this command whenever sources.list is changed.

apt-cache search <keyword>
Case-insensitive search of the package database for the keyword given. The package names and descriptions are returned where that keyword is found.

sudo apt-get install <package>

Download and install the given package name as found in the package database.

sudo apt-get -d install <package>
Download the package only, placing it in /var/cache/apt/archives.

apt-cache show <package>

Display information about the software from the named package.

sudo apt-get upgrade


Check updates for all installed packages and then prompt to download and install them.

sudo apt-get dist-upgrade

Updates the entire system to a new release, even if it means removing packages. (Are you on nuts to do this?)

sudo apt-get autoclean

Can be run anytime to delete partially downloaded packages, or packages no longer installed.

sudo apt-get clean


Removes all cached packages from /var/cache/apt/archives to free up disk space.

sudo apt-get --purge remove <package>

Remove the named package and all its configuration files. Remove the --purge keyword to keep config files.

sudo apt-get -f install

Do a sanity check for broken packages. This tries to fix any “unmet dependency” messages.

apt-config -V


Print version information of installed APT utilities.

sudo apt-key list


List gpg keys that APT knows about. 

apt-cache stats 

Print statistics on all packages installed.

apt-cache depends


Print dependencies for a package (whether it’s installed or not). 

apt-cache pkgnames 

List all packages installed on the system.
Read rest of entry

dpkg package manager options

The dpkg utility works at a layer lower than the APT utilities do. APT uses dpkg behind the scenes to manage software on your Ubuntu system. APT and dpkg work similar to the way yum and rpm do on Red Hat–based Linux distributions. Usually, APT will have enough functionality to get you through just about anything, but there are times when dpkg will be needed, such as finding out which package is associated with a given file on your system. Following are some of the common dpkg command options and parameters.


dpkg -c <.deb file> 
Lists files which are installed by the .deb file given (.deb file must be path/filename).

dpkg –I <.deb file> 
Lists information about the .deb given file.


dpkg –p <package> 
Lists information about the package.


dkpg –S <filename> 
Lists the packages where the given file name is found. This can be a path, or just the name of a file.

dpkg –l 
Lists installed packages. This will also take options for more specific info.
dpkg -L <package> 
Lists all the files which have been installed from package (package must have been previously installed).


dpkg –s <package> 
Lists the status of the given package. 

sudo dpkg –i <.deb file>  
Installs the given .deb file.


sudo dpkg –r <package> 
Removes the given package from the system, but leaves files behind.


sudo dpkg –P <package> 
Removes package and config files of given package.

sudo dpkg -x <.deb file> <directory>  
Extracts the files contained in the .deb file to a destination directory. This will reset permissions on the target directory.


Read rest of entry

Changing Permissions with chmod

The chmod command lets you change the access permissions of files and directories. shows several chmod command lines and how access to the directory or file changes.

chmod 0700

The directory’s owner can read or write files in that directory as well as change to it. All other users (except root) have no access.

chmod 0711 
Same as for the owner. All others can change to the directory, but not view or change files in the directory. This can be useful for server hardening, where you prevent someone from
listing directory contents, but allow access to a file in the directory if someone already knows it’s there.

chmod go+r

Adding read permission to a directory may not give desired results. Without execute on, others can’t view the contents of any files in that directory.

chmod 0777

All permissions are wide open.

chmod 0000

All permissions are closed. Good to protect a directory from errant changes. However, backup programs that run as non-root may fail to back up the directory’s contents.

chmod 666

Open read/write permissions completely on a file.

chmod go-rw Don’t let anyone except the owner view, change, or delete the file.

chmod 644

Only the owner can change or delete the file, but all can view it.
Read rest of entry

Copying Remote Files with scp



To use scp to transfer files, the SSH service (usually the sshd server daemon) must be running on the remote system. Here are some examples of useful scp commands:






$ scp myfile francois@server1:/tmp/ 
Password: ******
Above code copies myfile to server1


$ scp server1:/tmp/myfile 
Password: ******
Copy remote myfile to local working directory. Use the -p option to preserve permissions and timestamps on the copied files:

$ scp -p myfile server1:/tmp/If the SSH service is configured to listen on a port other than the default port 22, use -P to indicate that port on the scp command line:

$ scp -P 12345 myfile server1:/tmp/
 
Connect to a particular port.To do recursive copies, from a particular point in the remote file system, use the -r option:

$ scp -r mydir francois@server1:/tmp/ 
Copies all mydir to remote /tmp .Although scp is most useful when you know the exact locations of the file(s) youneed to copy, sometimes it’s more helpful to browse and transfer files interactively.

Read rest of entry
 

Terminal Diary | techblog Copyright © 2009 Gadget Blog is Designed by jintu jacob Powered by Blogger