George Barnett 6b049e1396 Use more accurate imports (#1309) 4 yıl önce
..
README.md 34c984c020 Move the pcap example into Source/Examples/ (#1119) 4 yıl önce
main.swift 6b049e1396 Use more accurate imports (#1309) 4 yıl önce

README.md

PCAP Debugging Example

This example demonstrates how to use the NIOWritePCAPHandler from NIOExtras with gRPC Swift.

The example configures a client to use the NIOWritePCAPHandler with a file sink so that all network traffic captured by the handler is written to a .pcap file. The client makes a single bidirectional streaming RPC to an Echo server provided by gRPC Swift.

The captured network traffic can be inspected by opening the .pcap with tools like Wireshark or tcpdump.

Running the Example

The example relies on the Echo server from a different example. To start the server run:

$ swift run Echo server

In a separate shell run:

$ swift run PacketCapture

Some logs should be emitted similar to below, including the path of the .pcap file:

2020-07-24T10:48:50+0100 info gRPC PCAP Demo : Creating fileSink for path './channel-ObjectIdentifier(0x00007f8a25604c40).pcap'
2020-07-24T10:48:50+0100 info gRPC PCAP Demo : ✅ Successfully created fileSink for path './channel-ObjectIdentifier(0x00007f8a25604c40).pcap'
...
2020-07-24T10:48:50+0100 info gRPC PCAP Demo : ✅ RPC completed successfully
...
2020-07-24T10:48:50+0100 info gRPC PCAP Demo : Done!

The .pcap file can be opened with either: Wireshark or tcpdump -r <PCAP_FILE>.