How do we know which co-signer signature is in raw hex in multisig? I have a raw 2of3 multisig transaction. In this transaction, one co-signer already signed. The signature is for only one input.
0100000001f479528049ee4b235548a7116f5ca31c607728af3d4ac8f102c5be13e93dcca900000000b40047304402201b83bd2209bc101736f60eeec3bcc1f79d45019d1829af97f5bd3210e8d8d786022020954c15372268d299b5463e1335595221e16222aee0291509a2098a0eb7fe80414c69522103556117b3f9a92f2997529af415c2c07185b872ddf1439995eca7f3acb65c58822103917f2527fc394ae2da48ce0148d29e5b756c4d9d180a6762bbe7abe215b29a562103f03364c624889c99059902524bcd8e2b24fb09cceb2e0f895d6475ef4913676553aeffffffff02a08601000000000017a914fd80725877f902f4491a6dc733fe788c376aeff8875033f4050000000017a9149aba36d2c19b08781230a4301f364610a163fc2d8700000000
after decoding the transaction, I have the following public keys:
03556117b3f9a92f2997529af415c2c07185b872ddf1439995eca7f3acb65c5882
03917f2527fc394ae2da48ce0148d29e5b756c4d9d180a6762bbe7abe215b29a56
03f03364c624889c99059902524bcd8e2b24fb09cceb2e0f895d6475ef49136765

and this signature:
['OP_0', '304402201b83bd2209bc101736f60eeec3bcc1f79d45019d1829af97f5bd3210e8d8d786022020954c15372268d299b5463e1335595221e16222aee0291509a2098a0eb7fe8041', 'OP_PUSHDATA1', 'OP_VERIFY', 'OP_2', '03556117b3f9a92f2997529af415c2c07185b872ddf1439995eca7f3acb65c5882', '03917f2527fc394ae2da48ce0148d29e5b756c4d9d180a6762bbe7abe215b29a56', '03f03364c624889c99059902524bcd8e2b24fb09cceb2e0f895d6475ef49136765', 'OP_3', 'OP_CHECKMULTISIG']

I have xPubs of all co-signers. How do I know which co-signer signed the transaction?
The only way to know which signers signed is to verify the signatures against the public keys. Each signature will only verify with one of the pubkeys.