Tag: recvfrom

C套接字发送UDP并处理来自路由器的ICMP应答

我正在尝试将UDP数据包发送到路由器,其生存时间为1,然后接收ICMP超时回复。 到目前为止,我能够发送数据包,但是当我的程序进入执行的recv部分时,它就会挂起。 我有一个错误检查recvfrom,但它甚至没有达到。 我的电脑正在接收请求。 我知道这是因为我在运行程序时运行Wireshark并且我过滤了ICMP请求。 每次我运行程序时,都会收到回复。 我在recvfrom上做错了什么? #include #include #include #include #include #include #include #include #define UNSPEC_PROTO 0 int main(int argc, const char *argv[]) { if (argc != 2) { printf(“usage: routetracer \n”); return -1; } struct addrinfo hints; //params for ret val of getaddrinfo struct addrinfo* ret; //return value of getaddrinfo struct sockaddr* reply_addr; […]