Meterpreter uses a reverse_tcp shell, which means it connects to a listener on the attacker's machine. There are two popular types of shells: bind and reverse. A bind shell opens up a new service on the target machine, and requires the attacker to connect to it in order to start a session.