When you write something like:
s=socket(AF_INET,SOCK_STREAM)
s.connect((siteIp,80))
s.send(...
How does the linux kernel know from which nic it is supposed to send the packets when no information about binding the socket is provided.
How can i for example replace this default nic with my own tun/tap interface?
Also where can i get more in depth information about this topic?