I need to send server windows logs to splunk but because of communication limitations my server can communicate with splunk over port 443.
is there a solution for that?
Related
A server, say for example an FTP server is listening on a port 21. Multiple clients can connect to it simultaneously and get ftp services asynchronously without being blocked.
My assumption is that the server has a separate thread to handle each client request. (Question: Does the new thread start negotiating new port with this client or continue using the same port (21) for data exchange ?)
my understanding is that the server uses a single port (21) to serve all the clients, including new connection requests.
if that is the case how does the server using a single port differentiates between clients and how does it delegate relevant data for each relevant thread ?
The same was as any other TCP/IP server.
Each client have a unique IP address and/or a port number.
The combination of client address and port and server address and port creates a virtual channel. The channel is used to exchange data between client and server software running on different machines. This is typically built into OS. The client and server software does not have to handle it specifically.
I've set up a Node-Red instance on IBM Cloud with a Socket.IO server using node-red-contrib-socketio.
I was able to subscribe to events on port 3000 on my local host fine but I'm having difficulty doing the same with the Node-Red instance on IBM Cloud.
According to my client console I seem to be able to connect but get no response using the following URL: ws://MYAPP.eu-gb.mybluemix.net/red:3000/socket.io/?EIO=3&transport=websocket Is this correct or should I be using something else like ws://MYAPP.eu-gb.mybluemix.net:3000/socket.io/?EIO=3&transport=websocket ?
Is any further configuration required in IBM Cloud to enable the connection?
If I need to authenticate within the URL I pass to the server is there a particular way that string should be structured?
Many thanks,
This will not work on Bluemix.
The Bluemix router only forwards external traffic on ports 80 and 443 (http/https) to apps.
But the app may not be actually listening on those ports (The port to listen on is passed in to the application on start up in a environment variable).
You can not just pick an arbitrary ports and listen on.
my question is simple
When you send data through TCP/IP protocol with EX:firefox you can receive reply on some random port that the browser listen on, while when i try to use a port for another task like CS Gaming or anything else it don't work unless i use kind of VPN ?
PS: there r no firewall blocking connection and port forwarding from my router didn't work as well.
Browsers are client apps that make outbound connections to web servers. When connecting to a server through a router’s NAT, the NAT takes note of the source and destination IP/port pairs so messages sent back from the server on the same connection are automatically routed to the correct client IP/port.
Browsers also support the websocket protocol. This feature makes it seem like the browser is listening on a specific port. However, in reality, it is initiated on a new connection to the server, a connection which remains open all throughout the websocket communication.
What matters is which peer is behind the NAT — the server or the client. For an outbound connection from a client, it can usually use any random port that is available at the time. For an inbound connection to a server, the server's IP/port must be known ahead of time and be routable. If the server is behind a NAT, the router(s) must be configured to make the server reachable from the other side of the NAT.
The server software can make a UPnP request to ask a router to forward inbound packets to the correct IP/Port. The router, depending on its configuration, may or may not honor such a request. If not, the router has to be configured manually by a network administrator.
I'm working on mac os x. I'm trying to build a cocoa app working on a storage server (similar to Dropbox) that does something whenever a file is added,removed..I have already a client app installed on the mac that shows all the files stored on the server and I need to listen to the port that the server is using to send changes notification to the app. I've started following some tutorials for Sockets but I get "Address already in use".
The Question: are sockets the only way to listen to a port and if yes is there a way to build a socket to listen to an already existing server/client connection?
If a process is already listening on a port then no other process can bind(2) to that port. Alternatives would include to have a proxy listen on that port that would deal with events and then pass them on elsewhere (the client app may not play well with this), or to use firewall rules to duplicate the packets to some other port that your app would then listen on, or maybe the client application issues notifications that then can be acted on.
https://github.com/thrig/lognots
Is one way to inspect the notifications available.
Remember that listening on a port is how you prepare to receive incoming connections. It is not necessary to receive data — once a connection is established, data can flow in both directions! It is almost never appropriate for a client application to listen on a port; that's usually only appropriate for server applications.
With that in mind: Your client application should connect to a port on the server, and the server will send data to the client as appropriate.
My client is using a restricted network i.e it's behind a firewall which permits requests to only 443 port. So it does not allow the client to connect to any other port that my mqtt broker is running on.
Is there any way to connect to target broker running on random port like 12000 with such network restrictions using Paho java client?
I think I will have to start a proxy which will route mqtt connect request to target ip and port but I am not sure how to do that.
Please help me out and let me know how can I achieve this
You should be able to start a broker listening on any port you want. How you do this will vary depending on which broker you are using.
A second option may be connecting to the broker using MQTT over Websockets. This would allow you to use the existing HTTP proxy on the network, but I'm not aware of any client libraries (except the Paho Javascript client for use in web pages) that currently support this.