Instead of skb_network_header() or skb_transport_header() you need to use skb_header_pointer() to get the payload of packet.
skb_network_header()
skb_transport_header()
skb_header_pointer()
See example here.