Posts

Finding IPv6 from IPv4 address of a host

One of my friend asked me an interesting question about relating IPv4 with IPv6. His question was: in dual stack setup, if we have IPv4 of a router/host, how can we find IPv6 associated with it?

Well, as far as I know there’s no direct way to relate IPv4 with IPv6 but there’s a nice trick out. Say e.g we have Google Public DNS operating at IPv4 - 8.8.8.8. To find IPv6 address of same server (if it exists at all), we can lookup for reverse DNS to get hostname, 

Thoughts on NKN - National Knowledge Network

You might have heard of NKN i.e National Knowledge Network by Govt. of India. Overall idea of NKN was to connect all educational institutions within country including all IIT’s, IIM’s, NIT’s and various govt. universities on fiber at 1Gbps speed. Though little late and crazy way of solving problem, but still NKN is nice effort from Mr Sam Pitroda.

I was talking to a friend from IIT Delhi last week, and here’s his speedtest.net result from his room (yeah room, not any lab!)

Simple bash script for IP-ASN mapping

Whenever I see a new unknown IP range, it gets hard to find exact source of that IP within command shell. Recently, I found a very interesting source of that information from Team Cymru.

I figured out (with a friend’s help) that using their whois server - v4.whois.cymru.com one can actually grab limited information as required. 


E.g

anurag@laptop:~$ whois -h v4.whois.cymru.com "  -v 8.8.8.8"
AS      | IP               | BGP Prefix          | CC | Registry | Allocated  | AS Name

15169   | 8.8.8.8          | 8.8.8.0/24          | US | arin     | 1992-12-01 | GOOGLE - Google Inc.

As we can see -v gives all possible information. All I needed was AS number, AS Name, BGP Prefix, Country code - this gives enough information for an IP address. Thus command turns out to be with -c & -p.

End of inter-circle roaming: Good or Bad move?

Today I read in news about Govt’s decision to finally end inter-circle roaming agreements between Airtel, Vodafone & IDEA. Well, the case is not new. It has been up with doT from over months and got highlights when CEO’s of all 3 firms wrote letter to Prime Minister of India for his intervention.  


Little background

In 3G auction held in 2010, none of the operators got pan India spectrum across 22 telecom circles. Most of them have license in around 10 circles (few in 9, few in 11 and so on) and thus no one can provide full Nationwide 3G coverage.

Start of competition based on speeds

Yesterday I read about BSNL increasing speeds from 512Kbps to 1Mbps (with caps). Today I came across news in Business Line about Bharti Airtel increasing speed on wireline DSL. This is really good believe me! I am not refering to little bit increase in speeds, but I am refering to start of competition within ISP’s based on speed. Right now it’s Wireless (3G) Vs Wireline (DSL) players, and I am sure very soon we will see competition within wireline Vs wireline players. Competition is always good specially in telecom industry. We can clearly see where we stand now: from 8years of waiting for a telephone connection to 5min of prepaid sim purchase, from 56Kbps at $1/hour to 10GB data at $20 a month. We have came so far, but yet long way to go!

Routing Crunch: Reliance-Flagtel to Neotel South Africa

Quick traceroute between Reliance and Neotel (South African subsidiary of Tata Communications)

Using Reliance Mumbai node: 

You requested a Traceroute from Mumbai (62.216.135.130) to neotel.co.za (41.168.1.110) 

   1 ge-0-2-0.0.pjr02.mmb004.flagtel.com (85.95.25.70) 80.252 ms 79.822 ms 79.737 ms  
   MPLS Label=351552 CoS=0 TTL=1 S=1  
   2 so-1-3-0.0.pjr02.hkg005.flagtel.com (85.95.25.118) 79.688 ms 79.717 ms 79.779 ms  
   MPLS Label=301328 CoS=0 TTL=1 S=1  
   3 so-5-0-0.0.cjr04.hkg003.flagtel.com (85.95.25.214) 79.790 ms 81.271 ms 84.868 ms  
   MPLS Label=300272 CoS=0 TTL=1 S=1  
   4 xe-1-2-0.0.cji01.hkg003.flagtel.com (62.216.128.66) 79.504 ms 79.587 ms 79.452 ms  
   5 62.216.145.194 (62.216.145.194) 85.660 ms 79.769 ms *  
   6 if-2-0-0-1123.core3.HK2-HongKong.as6453.net (216.6.95.137) [AS 6453] 79.930 ms 79.884 ms 79.775 ms  
   7 180.87.15.81 (180.87.15.81) [AS 6453] 295.413 ms 295.675 ms 295.695 ms  
   MPLS Label=300800 CoS=0 TTL=1 S=1  
   8 if-5-2.tcore2.CXR-Chennai.as6453.net (180.87.15.70) [AS 6453] 296.944 ms if-2-2.tcore1.SVW-Singapore.as6453.net (180.87.12.1) [AS 6453] 311.951 ms 311.784 ms  
   MPLS Label=299968 CoS=0 TTL=1 S=1  
   9 if-3-3.tcore1.CXR-Chennai.as6453.net (180.87.36.5) [AS 6453] 311.636 ms if-5-2.tcore1.CXR-Chennai.as6453.net (180.87.12.54) [AS 6453] 312.689 ms 312.041 ms  
   MPLS Label=300688 CoS=0 TTL=1 S=1  
  10 if-4-0-0.core1.CFO-Chennai.as6453.net (180.87.36.18) [AS 6453] 144.922 ms if-15-1-0.core1.CFO-Chennai.as6453.net (180.87.36.14) [AS 6453] 145.223 ms if-4-0-0.core1.CFO-Chennai.as6453.net (180.87.36.18) [AS 6453] 144.627 ms  
   MPLS Label=1578 CoS=0 TTL=1 S=1  
  11 116.0.86.1 (116.0.86.1) [AS 6453] 155.796 ms 155.857 ms 154.918 ms  
   MPLS Label=3107 CoS=0 TTL=1 S=1  
  12 116.0.86.30 (116.0.86.30) [AS 6453] 341.019 ms 312.304 ms 322.348 ms  
   MPLS Label=306816 CoS=0 TTL=1 S=1  
  13 if-2-2.tcore1.JSO-Johannesburg.as6453.net (216.6.55.85) [AS 6453] 312.133 ms 311.860 ms 311.718 ms  
  14 216.6.55.38 (216.6.55.38) [AS 6453] 324.450 ms 295.062 ms 296.033 ms  
  15 41.160.0.243 (41.160.0.243) [AS 36937] 312.371 ms 313.074 ms 311.998 ms  
  16 * * *  
  17 * * *  
  18 * * *

So it’s like Mumbai-India-Reliance | Hong Kong-Reliance | Hong Kong - Tata | Chennai -India-Tata | Somewhere in middle-Europe | Johannesburg - Tata

Quick simple script for automated database dumps

I tried looking for script for database dumps but most of them are way too complex then a simple solution one can implement. 

Thus, I wrote a quick simple 1 page (infact few lines) bash script for database dumps.

Here’s the code:  

#!/bin/bash

#Script for MySQL automated dumps

dbhost=DB-HOSTNAME-HERE  
dbusername=DB-USERNAME-HERE  
dbpassword=DB-PASSWORD-HERE

# Enter database names here  
dbname=( database1 database2 database3 )

for i in "${dbname[@]}"

do  
timestamp=backup_`date +%F.%T`  
output=$i+$timestamp  
mysqldump -h $dbhost -u $dbusername -p$dbpassword -C $i | bzip2 -c > /backups/MySQL-automated/$output  
done

To use this script, simply add names of database inside brackets in front of “dbname” like
dbname=( database1 database2 database3 ) and that’s all. You will get output in form of compressed .sql file.

Skype Vs Gmail phone: Quick check on latency with IP-PSTN gateways

I usually find that Gmail phone performs lot better then Skype for calls to PSTN. Usually latency on Skype is high as compared to Gmail phone in India (in US it was almost no difference).

I looked around today and here’s bit of test data I collected by calling couple of numbers from Skype & Gmail phone & monitored UDP traffic to collect information about destination servers which is very likely IP-PSTN gateway.

Script to keep track of IP address of machine

Just now realized that I have over few thousand files in “Latest IP” directory. This is result of poor workaround I created sometimes back to keep track of IP address.

To fix it, I wrote a quick shell script and good enough - it works! :)

Prime purpose of this script is to write latest IP address along with date/time stamp. Thus, one can simply call this script from cron job to keep track of IP address usage.

Messed up SPF record of mtsindia.in domain

Yesterday I called MTS Data Card support but their IVRS system was failing in giving me my balance details. Eventually I decided to email their support and glad to say support email was also easily available on their website.

Today I saw acknowledgement mail in spam. No big deal but I usually dig around genuine mails which go in spam to find exact cause. In this case I found mail was sent to me from  customercare.del@mtsindia.in and the server which relayed this mail was: