handle tcp and udp, use dport