Ideally, network protocols (e.g., for routing, congestion control, video streaming, etc.) will perform well across the entire range of environments in which they might operate. Unfortunately, this is typically not the case; a protocol might fail to achieve good performance when network conditions deviate from assumptions implicitly or explicitly underlying its design, or due to specific implementation choices. Identifying exact conditions in which a specific protocol fares badly (though good performance is feasible to attain) is, however, not always easy as the reasons for protocol suboptimality or misbehavior might be elusive. We make two contributions: (1) We present a novel framework that leverages reinforcement learning (RL) to generate network conditions in which a given protocol fails to perform well. Our framework can be used to assess the robustness of a given protocol and to guide changes to the protocol for making it more robust. (2) We show how our framework for generating adversarial network conditions can be used to enhance the robustness of RL-driven network protocols, which have gained substantial popularity of late. We demonstrate the usefulness of our approach in two contexts: adaptive video streaming and Internet congestion control.