Networking

Communication
Diablo III normally communicates to Battle.net 2.0 over port 1119 (TCP/UDP?).

Possible login servers

 * eu.logon.battle.net    - 213.248.127.130
 * us.logon.battle.net 	 - 12.129.206.130
 * beta.actual.battle.net - 12.129.236.246

Agent.exe communication
It is also known that Diablo III communicates with Agent.exe (the installation manager, updater, installation repairer, etc.) over 127.0.0.1:1119. So if you listen for connections on 127.0.0.1:1119, you'll hit agent packets (HTTP request like,  ).

You can skip the launcher and redirect to another IP with the following parameters:  -launch --auroraaddress ip:port

Protocol / Networking Code
Diablo 3 uses Protocol Buffers in its networking code. Protocol Buffers are a way of encoding structured data in an efficient yet extensible format. Google uses Protocol Buffers for almost all of its internal RPC protocols and file formats.

You can get the latest known proto files and generated classes for C++, Java, Python, and C# here.

Implementation

 * D3 packet details
 * Details of the RPC (the layer above tcp that wraps protobuf messages) implementation D3 is using

Protobuf Libraries

 * Google Protocol Buffers project
 * Protocol Buffers documentation
 * Google Protocol Buffer ported to C#
 * Alternative lightweight C# protocol buffers