Changing source port number of a TCP client packet
Hi all,
I need to change the source port number of an outgoing TCP packet. First I have to bind the socket to a particular port(suppose 9001) but when I send the TCP packet I want to change the source port number lets say to 9002 still letting the socket to be bound to the same old port (9001). Could this be done (in user space)?
I'd like to use SPARC Solaris10 to 'wake up' an old PC on same LAN.
what is the simplest way of doing it? (preferably without installing new software)
thanks. (14 Replies)
i want to kill a tcp connection by killing its pid
with netstat -an i got the tcp ip connection on port 5914
but when i type ps -a or ps-e there is not such process running on port 5914
is it possible that because i do not log on with proper user account i can not see that process running? (30 Replies)
Hi!
I'm writing an application (using BSD sockets on a Linux host) which communicates over TCP/IP with an embedded device. This embedded device has an old and real slow integrated circuit (Epson S1S6000) which handles all of the TCP/IP communication for it.
Problem is, this circuit (S1S6000)... (7 Replies)
I have multiple processes running the same program on my linux machine. For each process I want to be able to use a unique (available) TCP port. I have thought of using netstat to check which ports are available for use however, the time-window between checking and selecting might expose some race... (1 Reply)
Hello,
I'm having an issue with TCP sockets.
When the TCP connection is terminated on one end, TCP packet with RST flag set is being sent to the sender. All the packets sent so far were carrying the DSCP 'AF21' set by me. But packet with RST flag is carrying DSCP '0'.
Is this expected or... (0 Replies)
Hello, I have a service running (ODBC) and every now and then it will hang and I will have to stop and restart the service. The problem is when I stop the service, it indeed stops the service, but netstat reports a tcp port still open with the fin_wait_2 status. Then I must close the client... (1 Reply)
hi,
i am using Sun Solaris 8 (Sparc). Currently there is a SNMP agent running on port 161.
How should I change it to port 8001?
which file to modify and restart is necessary?
pls teach me the information.
thanks (8 Replies)
I am trying to connect via DBACCESS and Informix server to a server on a different computer. When I execute the connect command from dbaccess I get the following message,
Exec format error cannot bind a name to the port.
As far as I know the port is not being used by another client.
How... (1 Reply)
UDPTunnel(1) net UDPTunnel(1)NAME
udptunnel - Tunnel UDP packets over a TCP connection
SYNTAX
udptunnel -s TCP-port [-r] [-v] UDP-addr/UDP-port[/ttl]
udptunnel -c TCP-addr[/TCP-port] [-r] [-v] UDP-addr/UDP-port[/ttl]
DESCRIPTION
UDPTunnel is a small program which can tunnel UDP packets bi-directionally over a TCP connection. Its primary purpose (and original motiva-
tion) is to allow multi-media conferences to traverse a firewall which allows only outgoing TCP connections.
USAGE
UDPTunnel can be run in two modes: a client mode and a server mode. The client mode initiates the TCP connection before relaying UDP; the
server waits for an incoming connection before doing so. After the TCP connection is established, the behavior of the two modes is identi-
cal. If you are using UDPTunnel to traverse a firewall as discussed above, the client would be run inside the firewall, and the server
would be run outside it.
OPTIONS -s TCP-port
Server mode: If udptunnel is invoked with the -s option, it runs in server mode: the server will wait for an incoming connection on
the specified TCP port, and then relay UDP to and from it."
-c TCP-addr[/TCP-port]
Client mode: If udptunnel is invoked with the -c option, it runs in client mode: it will open a TCP connection to the specified TCP
host and port, and then relay UDP on it. The TCP port may be omitted in this case; it will default to the same port number as the
UDP port.
-r RTP mode: In order to facilitate tunneling both RTP and RTCP traffic for a multi-media conference, this sets up relays on two con-
secutive TCP and UDP ports. All specified port numbers in this case must be even. Note that both the client and the server must use
the -r flag for this to work; the server will not begin relaying packets until both its connections have been established.
-v Verbose output: This flag turns on verbose debugging output about UDPTunnel's actions. It may be given multiple times. With a single
-v, information about connection establishment is printed on UDPTunnel's standard error stream; with a second one, per-packet infor-
mation is also shown. Note that this latter case can produce a prodigious amount of information. If this flag is not given, UDPTun-
nel will remain silent unless an error occurs.
One of the two options -c and -s must be given; if not, it is an error.
In all cases, the UDP address and port to tunnel is given after all options. UDPTunnel will listen to this adddress for packets, and will
send received packets on this address. The address may be a multicast address; in this case, a multicast TTL should be specified, and tun-
neled packets will be sent with this TTL. All addresses, TCP and UDP, may be specified either as an IPv4 dotted-quad address (e.g.
224.2.0.1) or as a host name (e.g. conrail.cs.columbia.edu). Port numbers must be in the range of 1 to 65535; TTLs must be in the range 0
to 255.
PACKET FORMAT
The packets are sent on TCP using the obvious, simple format: a sixteen-bit length field, in network byte order, precedes each data packet.
This format was proposed in early drafts of RTP for RTP-over-TCP, but was dropped from the final specification.
KNOWN BUGS /ISSUES
UDPTunnel does not check incoming UDP packets to verify that they are indeed coming from the address which the user specified; it binds to
INADDR_ANY, and accepts any UDP packet arriving on the specified port. This could potentially allow denial-of-service or spoofing attacks.
If two or more -v options are given, per-packet identification will be printed of each packet's source address as it is received, allowing
such a situation to be diagnosed.
For multicast, UDPTunnel turns off packet loopback, as it has no way to distinguish its own packets it sent out from packets genuinely
arriving on the multicast group. This means that if you are tunneling traffic from or to a multicast group, both ends of UDPTunnel must be
run on different hosts than any member of the group. (In general, the only way to distinguish looped packets from packets genuinely
received from other applications on the local host is with application-layer labeling, as RTP does.)
UDPTunnel is designed to tunnel RTP-style traffic, in which applications send and receive UDP packets to and from the same port (or pair of
ports). It does not support request/response-style traffic, in which a client request is sent from a transient port X to a well-known port
Y, and the server's response is returned from port Y to port X.
UDPTunnel deliberately ignores "Connection Refused" errors on the UDP port, clearing the socket error state, so that a tunnel may be set up
before conferencing tools are started on both ends. This may mean that a mis-typed UDP address or port is not recognized, as no error is
printed. If two or more -v options are given, a diagnostic will be printed whenever the error state is cleared from the socket.
Once one endpoint of a tunnel is taken down, closing the socket, the other one exits as well; to re-establish the tunnel, UDPTunnel must be
restarted on both sides.
IP version 6 is not supported.
AUTHORS
UDPTunnel was written by Jonathan Lennox <lennox@cs.columbia.edu>. It incorporates code written by Henning Schulzrinne <hgs@cs.colum-
bia.edu>.
This manual page was written by Thomas Scheffczyk <thomas.scheffczyk@verwaltung.uni-mainz.de>, for the Debian GNU/Linux system (but may be
used by others).
Jonathan Lennox 1.1 UDPTunnel(1)