Linux内核 - 哪个函数保存了随机选择端口号的源?

Nte*_*tek 9 linux kernel linux-kernel

任何人都知道linux中的函数或文件是否包含找到用于bind()系统调用的随机端口的算法?我正在寻找所有在Linux源代码中找不到包含此算法的方法.

谢谢!

Chr*_*ung 6

这是一段漫长而复杂的代码,我并不热衷于尝试.:-)

查看TCP 的inet_csk_get_port函数(in net/ipv4/inet_connection_sock.c)和UDP的udp_lib_get_port(in net/ipv4/udp.c)函数.它至少对2.6.31有效,但不同版本可能会有所不同.

  • @Chris:谢谢!这是迄今为止我在网上获得的最好的帮助.我很感激你在这一次上的时间.这正是我需要的例子.我使用了这段代码并放置了一个测试printk,看看绑定是否达到了你提到的功能,现在可以更好地理解这里发生了什么.再次感谢.太棒了! (2认同)