Kudithipudi.Org

August 17, 2011

HOW TO : Use grep to search for credit card numbers

Filed under: HOWTO,Linux,Technology — Vinay @ 10:20 pm

I was looking for a quick way to search for credit card numbers in a file and ran across this excellent post by Adrian Rollett. I tweaked his suggestion a bit to show some additional data.

Original suggestion

 grep '\(^\|[^0-9]\)\{1\}\([345]\{1\}[0-9]\{3\}\|6011\)\{1\}[-]\?[0-9]\{4\}[-]\?\[0-9]\{2\}[-]\?[0-9]\{2\}-\?[0-9]\{1,4\}\($\|[^0-9]\)\{1\}' FILE_TO_SEARCH 

My modification

 grep '\([345]\{1\}[0-9]\{3\}\|6011\)\{1\}[ -]\?[0-9]\{4\}[ -]\?[0-9]\{2\}[-]\?[0-9]\{2\}[ -]\?[0-9]\{1,4\}' --color -H -n FILE_TO_SEARCH 

The modified command will show the name of the file the number was found and at which line. You can tweak it further using additional options for grep. A good reference guide can be found here.

June 23, 2011

HOW TO : for loop in bash

Filed under: Linux,Programming — Vinay @ 11:54 am

Quick post for my own reference down the road. the “for” loop comes in very handy, when you want to perform the same task on multiple items in a bash shell.

For example, I wanted to query the DNS results of a couple of sub domains (blog.gogoair.com, pr.gogoair.com, tracker.gogoair.com), I can do it the normal way (that 99% of us do :) )

 dig blog.gogoair.com

dig pr.gogoair.com

dig tracker.gogoair.com 

Or, I can use the for loop function and do this

 for i in {blog,pr,tracker}.gogoair.com; do echo "$i" ; dig +short "$i"; done 

Got to love technology :) .. Makes you lazy!!..err I meant to say productive.

Thx to Cliff for the inspiration.

February 11, 2011

HOW TO : Setup Global Redirect in Lighttpd

Filed under: HOWTO,Linux,Networking,Technology,Web — Vinay @ 8:12 pm

If you have ever managed a web application, you know you have to take it down at times :) . And you usually want to show an simple page stating that you are down for maintenance. Here is a simple way to setup a “maintenance” splash page. The assumption is that you have a Linux server to host the maintenance page.

  • Configure lighttpd (HTTP Server) on the server using instructions from this article on Cyberciti.
  • Edit the lighttpd.conf file and add the following line in your site configuration
 server.error-handler-404   = "index.html" 
  • Name your maintenance page as index.html and upload it to the document root (in this example, it is /var/www/html)

You are essentially telling the web server to display index.html whenever the user is trying to access content that is not present on the server. And since there is no content on the server other than the index.html, the web browser will always display the index.html page..

February 10, 2011

HOW TO : Dowload content from Oracle Metalink (Support) using wget

Filed under: Databases,Linux,Technology — Vinay @ 8:57 am

The usual process for a DBA to download files from Oracle Metalink (support) site is

  • Login to Metalink from his/her workstation
  • Download the file
  • Upload the file to the database server
  • Use the file

Say your database is in a data center and your workstation doesn’t have high speed connectivity to the data center, you can use the following trick to download content to a l[u]inux server in the data center that has Internet connectivity (and hopefully it is not your database server :) ).

  • Log into Metalink from your workstation
  • Grab the link to the file/content you want to download (for example, we recently tried to download clusterware for Oracle 11G, and the link was http://download.oracle.com/otn/linux/oracle11g/linux.x64_11gR1_clusterware.zip)
  • Log into a server in your data center (it should have connectivity to the Internet and also to your database server)
  • Download the file using wget
wget http://download.oracle.com/otn/linux/oracle11g/linux.x64_11gR2_clusterware.zip --user ORACLE_ID --password ORACLE_ID_PASSWORD
  • Replace the link with the link to your content and use your Oracle ID and password.
  • The file downloaded will have a strange name since wget  appends the sessionID to the end of the file. In the example I used above, the name of the file was “linux.x64_11gR2_clusterware.zip\?e\=1297470492\&h\=a66b265cc967a68c611052cb8e54356f
  • Rename the file and strip off the unnecessary data in the name using mv

February 7, 2011

HOW TO : Capture HTTP Headers using tcpdump

Filed under: HOWTO,Linux,Networking,Technology,Web — Vinay @ 11:09 am

Quick how to on capturing HTTP headers using tcpdump on a web server (running Linux).

    • On the web server, issue the following command
       tcpdump -s 1024 -C 1024000 -w /tmp/httpcapture dst port 80 
        • Stop the capture by issuing the break command (ctrl + c)
        • Open the capture file (httpcapture in this example) in wireshark and check out the headers under the  the HTTP protocol

        January 26, 2011

        HOW TO : Find out which network port a program is using in linux

        Filed under: HOWTO,Linux,Technology — Vinay @ 1:46 pm

        Quick way to figure out, which ports a particular program is using in linux

         netstat -plan | grep -i PROGRAM_NAME 

        Example : Check which ports SSH is listening on

        
        samurai@samurai:~$ sudo /bin/netstat -plan | grep sshd
        tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      5257/sshd
        tcp        0     52 123.123.123.123:22      124.124.124.124:32846     ESTABLISHED 3551/sshd: samurai
        tcp6       0      0 :::22                   :::*                    LISTEN      5257/sshd
        unix  3      [ ]         STREAM     CONNECTED     5893     3551/sshd: samurai
        unix  2      [ ]         DGRAM                    5849     3551/sshd: samurai
        

        HOW TO : Manage startup services in Ubuntu

        Filed under: HOWTO,Linux,Technology — Vinay @ 10:06 am

        Most Redhat/Fedora users are used to chkconfig and service for controlling the services/programs that startup at boot time. Here is how you do it in Ubuntu

        • Check status of a particular service
         sudo SERVICE_NAME status 

        Example : Check the status of Apache Web Service

        samurai@samurai:~$ sudo service apache2 status
        Apache is running (pid 3496).
        • Add a service to start on bootup
         update-rc.d SERVICE_NAME add 

        Example : Configure squid to start on bootup

         update-rc.d squid add 
        • Stop a service from starting on bootup
         update-rc.d SERVICE_NAME remove 

        Example : Configure squid to NOT start on bootup

         update-rc.d squid remove 

        NOTE : You need to have a startup script in /etc/init.d for the service to ensure update-rc.d works fine.

        January 3, 2011

        HOW TO : Check IO speed on a Linux Machine

        Filed under: HOWTO,Linux,Technology — Vinay @ 9:36 am

        For my notes.. if you ever want to check the IO capability of a disk (local or network) on a linux machine, use the following command

         dd if=/dev/zero of=test.file bs=4M count=1000 

        The above command make a copy of the output from /dev/zero to a file called test.file (you can locate the file on the disk you want to measure) with a block size of 4M for a total file size of 4000Mb.

        August 6, 2010

        HOW TO : Run commands at regular intervals in Linux

        Filed under: HOWTO,Linux,Technology — Vinay @ 9:07 pm

        There are several ways to run commands repetively in Linux.. (cron, while loop etc). Here is a simple trick. Say you want to check the size of a directory using “du” every 5 seconds, you can use the following command

        watch -n 5 du -ch

        Check out all the options available in watch by running “man watch” :) .

        July 30, 2010

        HOW TO : Check status of bond interface in Linux

        Filed under: HOWTO,Linux,Networking,Technology — Vinay @ 3:03 pm

        For my notes.. If you ever wanted to check the status of a bonded interface configure in Linux (esp RHEL), you can check the status by running the following command

        [root@serverxyz bin]# cat /proc/net/bonding/bond0
        

        i.e. assuming the name of your bond interface is bond0.

        Output from the command

        Ethernet Channel Bonding Driver: v3.4.0 (October 7, 2008)
        
        Bonding Mode: fault-tolerance (active-backup)
        Primary Slave: eth3 (primary_reselect always)
        Currently Active Slave: eth3
        MII Status: up
        MII Polling Interval (ms): 100
        Up Delay (ms): 0
        Down Delay (ms): 0
        
        Slave Interface: eth3
        MII Status: up
        Link Failure Count: 0
        Permanent HW addr: 00:10:18:6e:b8:1a
        
        Slave Interface: eth0
        MII Status: up
        Link Failure Count: 0
        Permanent HW addr: 00:21:5e:11:34:32
        

        The configuration files involved are

        /etc/sysconfig/network-scripts/ifcfg-bond0 (Bond Interface)

        DEVICE=bond0
        IPADDR=10.10.40.26
        NETMASK=255.255.255.0
        ONBOOT=yes
        BOOTPROTO=none
        USERCTL=no
        GATEWAY=10.10.40.1
        NETWORK=10.10.40.0
        BROADCAST=10.10.40.255
        TYPE=Ethernet

        /etc/sysconfig/network-scripts/ifcfg-eth3 (Primary Interface)

        DEVICE=eth3
        BOOTPROTO=none
        ONBOOT=yes
        HWADDR=00:10:18:6e:b8:1a
        MASTER=bond0
        SLAVE=yes
        TYPE=Ethernet
        USERCTL=no

        /etc/sysconfig/network-scripts/ifcfg-eth0 (Secondary Interface)

        DEVICE=eth0
        HWADDR=00:21:5e:11:34:32
        USERCTL=no
        ONBOOT=yes
        MASTER=bond0
        SLAVE=yes
        BOOTPROTO=none
        TYPE=Ethernet
        « Newer PostsOlder Posts »

        Powered by WordPress