Re: How to listen to more a specific IP and specific ports



Those two options ( IP/port or any IP/port ) and additionally ( IP or any
IP/any port (0) ) are the only options of sockets ( that come from BSD (
Unix ) sockets ) you can use ,so you need 2 sockets to listen for two
different IP/ports
Arkady

"Bassam" <Bassam@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:77BD5E60-9D57-484E-830E-E5456812B472@xxxxxxxxxxxxxxxx
Dear all,
I am writing a network application that requires me to bind it to
specific network IP addresses and specific ports.

The normal binding resides in filling up the SOCKADDR_IN structure with
any
IP "INADDR_ANY" or a particular IP "192.168.1.148" and a single port as
follows:

SOCKADDR_IN tcpaddr;
int port = 1812;

tcpaddr.sin_family = AF_INET;
tcpaddr.sin_port = htons(port); //Single port
tcpaddr.sin_addr.s_addr = htonl(INADDR_ANY); //Any IP
or
tcpaddr.sin_addr.s_addr = htonl("192.168.1.148"); //A particular IP

Also this can be achieved by filling up the ADDRINFO structure of the
hints
parameter of the address resolution function "getaddrinfo()" as follows:

ADDRINFO hints;
LPADDRINFO resultPtr = NULL;

memset(&hints, 0, sizeof(hints));
hints.ai_flags = AI_PASSIVE; //to determin any IP
hints.ai_family = AF_INET;
hints.ai_socktype = SOCK_STREAM;
hints.ai_protocol = IPPROTO_TCP;

getaddrinfo(NULL, "1812", &hints, &resultPtr);

The first argument of "getaddrinfo()" is NULL to determin that we are
willing to bind to any IP, and the second argument is a single port.

NOW: my question is how to listen to traffic coming through particular IPs
(i.e., "192.168.1.148" and "192.168.10.30") on the server machin and
particular ports 1812 and 1813 at the same time?

Do I need to bind my single socket handler to different SOCKADDR_IN
structures each has its own IP address and port no.. However, I find this
way
is not feasible because the particular IPs are not fixed. I mean sometime
I
need to listen to one or two or more particular IPs.

I would appreciate if you shed light on this matter.

Regards
Bassam


.



Relevant Pages

  • Re: How to listen to more a specific IP and specific ports
    ... bind my socket to specific unlimited and selective IP addresses. ... Moreover, in Unix/Linux Berekly network programming, you can determin the ... port numbers. ...
    (microsoft.public.win32.programmer.networks)
  • Re: How to listen to more a specific IP and specific ports
    ... I have read this long time ago in the textbook Unix Network Programming ... service and connect our socket to INADDR_ANY and then listen for incoming ... Its clear to me on how to bind with ... port numbers. ...
    (microsoft.public.win32.programmer.networks)
  • Re: How to listen to more a specific IP and specific ports
    ... bind my socket to specific unlimited and selective IP addresses. ... Moreover, in Unix/Linux Berekly network programming, you can determin the IP ... port numbers. ...
    (microsoft.public.win32.programmer.networks)
  • Re: How to listen to more a specific IP and specific ports
    ... bind my socket to specific unlimited and selective IP addresses. ... port numbers. ... is not feasible because the particular IPs are not fixed. ...
    (microsoft.public.win32.programmer.networks)
  • FreeBSD Security Advisory: FreeBSD-SA-01:18.bind
    ... BIND is an implementation of the Domain Name Service protocols. ... assist the ability of attackers to exploit the primary vulnerability ... the bind8 port in the ports collection ... If you have chosen to install BIND from the ports collection and are ...
    (FreeBSD-Security)

Loading