This depends a little on whether you use the binary form (which is typically the default when dealing with protobuf), or the json form (yes, protobuf includes a json option, at least in some libraries - not all).
In the binary form, the data consists of the field numbers, and the values; not the field names. As an example, if we use the example of:
optional string name = 1; // remove the "optional" if using proto3 syntax
and assign a value of "Nika" (and serialize it), then the binary data will include the 1
(in a slightly tweaked form), and the UTF-8 encoded form of Nika
, but it will not contain "name".
You don't absolutely need to have the schema to decode it, but it will make things a lot easier if you do, as many parts of the specification are otherwise ambiguous, using the same "wire type" (i.e. the encoding format) for multiple data types, or for multiple meanings of the same data type (for example: you can't tell whether an integer is signed, unsigned, or "zig zag encoded" without the schema (or a good guess), and the actual value that you get can vary hugely based on this.
To see what you can grok from raw protobuf data without the schema, try: https://protogen.marcgravell.com/decode