There are many motivations for taking measurements in the Internet; from serving as a basis for scientific study to performing day to day operational tasks. While taking measurements in the Internet can be as simple as running "pings" from a single desktop system, systematic large scale measurements are fraught with difficulty. In this tutorial we present an overview of the tools and techniques for taking measurements of a variety of Internet features and behaviors. We also present the major infrastructures that have been deployed recently (and not so recently) for taking large scale measurements of the Internet. These infrastructures are principally used to gather data on Internet topology, routing, and traffic behavior. We discuss the basic techniques for analyzing Internet measurement data and discuss the many challenges facing researchers who want to use data taken in Internet measurement infrastructures.