Tuesday, December 6, 2011

Technitium MAC Address Changer v6 on the way!

Just to notify all Technitium MAC Address Changer users, new version is about to be complete and you can expect a beta version this month.

New version, completely written from scratch, will have full IPv6 support. A complete change in code base was done to make the new version more efficient and easy to use.

People who have emailed me earlier for support would get email notification when the software is released. Others, keep watching this space for Technitium MAC Address Changer version 6!

Pre beta screenshots (expect interface to change a bit):


Friday, July 29, 2011

Bit Chat: A Peer-to-Peer Instant Messaging Concept Using BitTorrent Trackers

UPDATE: 5 Jan, 2015
Technitium Bit Chat (alpha version) is now available for download at https://bitchat.im

Bit Chat is a concept that I got while thinking about having a instant messaging (IM) system which would be completely decentralized, peer-to-peer and friend-to-friend and would provide confidentiality and optionally authentication. In this regards, BitChat can be considered a darknet system. BitChat takes many of the BitTorrent concepts and uses them to provide an instant messaging (IM) system instead of file sharing.

The classic problem faced in peer-to-peer system is to find IP address of peers who want to communicate together privately in a group. BitChat concept finds solution for it by using existing BitTorrent trackers and forming a peer-to-peer network by connecting to the nodes which are being tracked by the same infohash. DHT can also be used with trackers.

The current concept allows to use channels (similar to IRC channels) over which peers can communicate. Each channel has its own unique infohash. The topology currently thought is a full mesh network between small number of peers.

Each peer starts with a .chat file (just like a .torrent file) which contains infohash and tracker list. The file can be exchanged by email or any other way (even offline). BitChat client would use this file and get an IP address list of all the peers from the trackers mentioned in the file.

For providing privacy, BitChat would fake user agent info of popular BitTorrent clients so that even tracker servers dont know the intentions of the users. The client then maintains a peer list and connects to each of them in a full mesh.

Every connection to another peer is done with a brief handshake in which each peer exchange their identifiers, public keys and a list of peers that each one of them have (similar to peer exchange). Any new peer found from another peer is immediately connected in order to have a full mesh network. Each connection to a peer can be using TCP if directly feasible or UDP in case of client being behind NAT. UDP would punch holes in NAT allowing direct communication between peers possible. The client will have to implement a TCP like retransmission mechanism to solve problems with dropped UDP packets.

A client behind a http proxy can be supported such that it creates outbound connections to rest of the peers. Two peers behind http proxy will not have a direct link in such case and messages between them will have to be routed through other willing peers.

Authentication can be done with the help of public key cryptographic algorithms like RSA. The public key of peers can be exchanged online/offline and a small address book be maintained by BitChat clients to identify friends. The public key exchanged during peer-to-peer handshake will be matched with the address book to verify identity of known contacts.

A channel can be open ended or invite only. If the channel is only for closed group, the BitChat client can reject peer request from unknown contacts. In any case, only users who have the .chat file (or the infohash) can join the network in first place.

Confidentiality can be achieved by using public key cryptography. The public key of each peer will be used to do a key exchange for an agreed upon symmetric key algorithm. Each connection to a peer will have a separate key and it can be renewed with a handshake at regular intervals.

The system would allow for a common chat for all peers in a channel as well as private one-to-one chat. A group chat with only selected peers can be made with the group chat initiator deciding on whom to invite from the peers.

A simple client would implement text chat with a simple one-to-one file sharing. While, clients which can support voice and video chat can be developed.

Security issues which affect BitTorrent also apply to BitChat. The IP address of all peers is open to anyone knowing the infohash being used. Mitigation can be done by use of VPN or proxy services.

There are lot of peer-to-peer projects already being developed and used. BitChat concept is about using an existing infrastructure provided by BitTorrent and using it for a secure, private and user friendly instant messaging system.

A prototype or a working proof of concept client in .NET is being developed by Pratik Patil. The final client too will be made in .NET using .NET Framework 2.0 such that it would run on Mono Framework which supports Linux as well as MAC.

The protocol specification is under development and will be made public so that anyone can make their own BitChat client. Any inputs and queries are most welcomed. Post comments or send an email to me (shreyas at technitium dot com) or Pratik (pratik at technitium dot com).

Friday, June 17, 2011

Map Wi-Fi Router MAC Address To Physical Location

If you haven't seen this research android map by Samy Kamkar, just read on.

From the page:
"android map exposes the data that Google has been collecting from virtually all Android devices and street view cars, using them essentially as global wardriving machines. You can use this tool to accurately locate virtually any router in the world, as well as position iPhones and Android phones.

When the phone detects any wireless network, encrypted or otherwise, it sends the BSSID (MAC address) of the router along with signal strength, and most importantly, GPS coordinates up to the mothership

This page allows you to ping that database and find exactly where any wi-fi router in the world is located. Note that iPhones also send this BSSID and Cell Tower Information up to Apple, as well."

The search result looks like this:


Note that, Technitium MAC Address Changer (TMAC) cannot change MAC Address of your router. You can change it from web interface the device provides. MAC address changing feature might not be available in all routers though.

Tuesday, June 7, 2011

Why You Need To Change MAC Address?

I have been asked many times this question, in person as well as over email. Many people are clueless that you can even change MAC address and give open challenges, so forget that they would know why there is a need to change a MAC address.

Some people think that websites on Internet can track users using MAC address and so they must change it! Well, your MAC address wont go further than the first router the IP packet gets to. Its because, MAC address is used as unique identifier at data link layer (OSI layer 2), like for example your local Ethernet, while the IP packet being forwarded over Internet is at network level (OSI layer 3) and uses IP Address as a global unique identifier (which websites can see and track). And when an Ethernet frame reaches a router, the router's MAC address is used to send the frame forward. So, clearly this is not a reason to change MAC address!

There are many reasons you would want change MAC address, some legitimate others not so. I am listing some of the legitimate reasons while you wonder what the other reasons might be!
  • Your ISP uses MAC address to identify or authenticate your Internet connection. So in case your network card goes boom, the new card you replace it with will have different MAC address and so the Internet wont work. So changing the MAC address to old network adapter is the quickest fix instead of telling your ISP to register your new MAC address which may take lot of time.

  • If you want to access a network, which limits access based on MAC address, from another machine then you can change MAC address to the one for which you have access. Note that only one computer would be able to access the same network (no two computers can have same MAC address on same network to access it without any problem)

  • A very important reason is privacy. Your MAC address can be seen by everyone on the local Ethernet network using many simple tools. A hacker on local network thus can track machines (and thus you) on the network. This is especially a threat when you are on a wireless network and are using a public WiFi network like in coffee shops, hotels or airports.

  • If your original MAC address is revealed, an hacker can use it to impersonate you! On many networks (wired or wireless) access is restricted based on MAC address to avoid access to unauthorized devices on the network. So, when you go offline, someone can use your machine's MAC address and access the network as 'you'.

  • You can get a new IP address lease from DHCP server by changing MAC address. On many networks, DHCP lease is set to last many days or is associated directly with a MAC address such that you get the same IP address all the time.

The reasons I listed above are just the ones that came to my mind while writing this post. There are many more reasons (sometime bizarre) to change MAC address.

If you change MAC address for some reason not on the list above, do post it as a comment below.

    Thursday, June 2, 2011

    ComputerWorld: 10 Must Have Utilities For Small Networks


    Technitium MAC Address Changer (TMAC) is on the top '10 Must Have Utilities For Small Networks' list on ComputerWorld.com. Its been a while it was listed in there, if you didnt see, just check it out.


    You can also check out the editorial review of TMAC by PCWorld.com.


    Tuesday, May 31, 2011

    TMAC In Top 10 Networking Software on CNET Download.com

    Technitium MAC Address Changer (TMAC) is on Top 10 Networking Software list and on Top 5 Network Tools list on CNET Download.com consistently since quite some time now!

    Top 10 Networking Software on CNET Download.com
    TMAC Quick Specs on CNET Download.com

    Checkout the TMAC listing on CNET Download.com for download and info.

    TMAC For Linux by Sagar Belure

    If you happen to be on a Linux box and want to change MAC address with ease then you must try TMAC for Linux by Sagar Belure.

    Well, I know you can always use ifconfig but, isnt a good bash script to do much of the work for you cool?!

    Sorry, We Dont Accept Donations Anymore

    We have stopped accepting donations from a few months now for certain reasons and might not be accept in future. We really appreciate your willingness to contribute towards Technitium MAC Address Changer.

    Monday, May 30, 2011

    TMAC Issue With Wireless Network & Workaround

    Technitium MAC Address Changer (TMAC) is unable to change MAC address of many wireless network adapters on Windows Vista and above. Its been observed, and I had quite a few email feedback confirming that, on the same hardware with Windows XP installed, everything seems to work fine!

    I also had one email feedback saying that TMAC couldn't change MAC address of Wifi on Windows XP machine after updating drivers. Reverting back to old drivers again made things work.

    This issue is observed only on wifi adapters, while you can change the MAC address on Ethernet adapters without any fuss. This tells that the network adapter drivers are actually preventing users from changing MAC address.

    A simple workaround would let you change MAC address on most wifi adapters if you want to just make sure your original MAC address is not exposed. You just have to set the first octet of MAC address to "02", instead on what normally is "00".

    If the MAC address didnt change, try to disable and re-enable the Wifi network adapter manually from Network and Sharing Center > Change adapter settings (or you can just enter Network Connections in Windows Explorer location bar).

    While I am not very sure why it works with "02" I think it has to do with the MAC Address specification which uses first octet to set flags (see image below; courtesy Wikipedia.org)

    Setting first octet "02" actually sets the b2 bit indicating that the MAC address is locally administered. Looking at this MAC address thus indicates that the MAC address is changed by local machine administrator. But, its still good if you just want to hide your original MAC address instead of spoofing someone's MAC address.

    Another guess on why this works may be due to Windows Network Bridge feature. When you bridge 2 or more network adapters in Windows, the Network Bridge sets its MAC address to the first network adapter added to it with the first octet set to "02". Thus, if the network adapter drivers didn't allow the change, it would make the feature not work.

    Just try the workaround if you have this issue.

    Update: Posting comments for this post has been disabled since most queries are repeating. Readers are encouraged to read existing comments. You may email queries if your problem is not discussed in the comments.

    Technitium Blog!

    Finally, after a long time, we have decided to put the official blog for Technitium. We will be posting all useful stuff related to Technitium Software which would be helpful to all you users world wide and would provide basic technical support for stuff and giving feedback/comments.

    It would be recommend for you to check out the blog for common queries before you email us for support. Note that we would reply to all email queries we get.

    I would personally like to give special thanks to Siddhant Tripathi who provided Technitium with the blog he had registered with his blogger account.

    You can also follow @technitium on twitter.