Changing source port number of a TCP client packet


 
Thread Tools Search this Thread
Top Forums Programming Changing source port number of a TCP client packet
# 1  
Old 03-24-2010
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)?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Solaris

How to find port number wwn of particular port on dual port HBA,?

please find the below o/p for your reference bash-3.00# fcinfo hba-port HBA Port WWN: 21000024ff295a34 OS Device Name: /dev/cfg/c2 Manufacturer: QLogic Corp. Model: 375-3356-02 Firmware Version: 05.03.02 FCode/BIOS Version: BIOS: 2.02; fcode: 2.01;... (3 Replies)
Discussion started by: sb200
3 Replies

2. Solaris

WakeOnLan, tcp packet

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)
Discussion started by: orange47
14 Replies

3. IP Networking

Tcp ip port open but no such process (merged: Release A Port)

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)
Discussion started by: alinamadchian
30 Replies

4. IP Networking

TCP Packet size

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)
Discussion started by: olle
7 Replies

5. Shell Programming and Scripting

TCP port assignment

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)
Discussion started by: timmylita
1 Replies

6. IP Networking

TCP packet with RST flag not carrying DSCP

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)
Discussion started by: Solace
0 Replies

7. UNIX for Dummies Questions & Answers

close tcp port

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)
Discussion started by: raidzero
1 Replies

8. Shell Programming and Scripting

TCP/IP Source

can u tell me from where do i get TCP/IP Source code plz. (2 Replies)
Discussion started by: pradeep83rawat
2 Replies

9. UNIX for Dummies Questions & Answers

Changing SNMP port number

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)
Discussion started by: champion
8 Replies

10. IP Networking

tcp problem with port

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)
Discussion started by: lopez
1 Replies
Login or Register to Ask a Question
udp(7P) 							     Protocols								   udp(7P)

NAME
udp, UDP - Internet User Datagram Protocol SYNOPSIS
#include <sys/socket.h> #include <netinet/in.h> s = socket(AF_INET, SOCK_DGRAM, 0); s = socket(AF_INET6, SOCK_DGRAM, 0); t = t_open("/dev/udp", O_RDWR); t = t_open("/dev/udp6", O_RDWR); DESCRIPTION
UDP is a simple datagram protocol which is layered directly above the Internet Protocol ("IP") or the Internet Protocol Version 6 ("IPv6"). Programs may access UDP using the socket interface, where it supports the SOCK_DGRAM socket type, or using the Transport Level Interface ("TLI"), where it supports the connectionless (T_CLTS) service type. Within the socket interface, UDP is normally used with the sendto(), sendmsg(), recvfrom(), and recvmsg() calls (see send(3SOCKET) and recv(3SOCKET)). If the connect(3SOCKET) call is used to fix the destination for future packets, then the recv(3SOCKET) or read(2) and send(3SOCKET) or write(2) calls may be used. UDP address formats are identical to those used by the Transmission Control Protocol ("TCP"). Like TCP, UDP uses a port number along with an IPor IPv6 address to identify the endpoint of communication. The UDP port number space is separate from the TCP port number space, that is, a UDP port may not be "connected" to a TCP port. The bind(3SOCKET) call can be used to set the local address and port number of a UDP socket. The local IP or IPv6 address may be left unspecified in the bind() call by using the special value INADDR_ANY for IP, or the unspecified address (all zeroes) for IPv6. If the bind() call is not done, a local IP or IPv6 address and port number will be assigned to the endpoint when the first packet is sent. Broadcast packets may be sent, assuming the underlying network supports this, by using a reserved "broadcast address." This address is network interface dependent. Broadcasts may only be sent by the privileged user. IPv6 does not support broadcast addresses; their function is supported by IPv6 multicast addresses. Options at the IP level may be used with UDP; see ip(7P) or ip6(7p). There are a variety of ways that a UDP packet can be lost or corrupted, including a failure of the underlying communication mechanism. UDP implements a checksum over the data portion of the packet. If the checksum of a received packet is in error, the packet will be dropped with no indication given to the user. A queue of received packets is provided for each UDP socket. This queue has a limited capacity. Arriving datagrams which will not fit within its high-water capacity are silently discarded. UDP processes Internet Control Message Protocol ("ICMP") and Internet Control Message Protocol Version 6 ("ICMP6") error messages received in response to UDP packets it has sent. See icmp(7P) and icmp6(7p). ICMP "source quench" messages are ignored. ICMP "destination unreachable," "time exceeded" and "parameter problem" messages disconnect the socket from its peer so that subsequent attempts to send packets using that socket will return an error. UDP will not guarantee that pack- ets are delivered in the order they were sent. As well, duplicate packets may be generated in the communication process. ICMP6 "destination unreachable" packets are ignored unless the enclosed code indicates that the port is not in use on the target host, in which case, the application is notified. ICMP6 "parameter problem" notifications are similarly passed upstream. All other ICMP6 messages are ignored. SEE ALSO
read(2), write(2), bind(3SOCKET), connect(3SOCKET), recv(3SOCKET), send(3SOCKET), icmp(7P), icmp6(7P), inet(7P), inet6(7P), ip(7P), ip6(7P), tcp(7P) Postel, Jon, RFC 768, User Datagram Protocol, Network Information Center, SRI International, Menlo Park, Calif., August 1980 DIAGNOSTICS
A socket operation may fail if: EISCONN A connect() operation was attempted on a socket on which a connect() operation had already been performed, and the socket could not be successfully disconnected before making the new connection. EISCONN A sendto() or sendmsg() operation specifying an address to which the message should be sent was attempted on a socket on which a connect() operation had already been performed. ENOTCONN A send() or write() operation, or a sendto() or sendmsg() operation not specifying an address to which the message should be sent, was attempted on a socket on which a connect() operation had not already been performed. EADDRINUSE A bind() operation was attempted on a socket with a network address/port pair that has already been bound to another socket. EADDRNOTAVAIL A bind() operation was attempted on a socket with a network address for which no network interface exists. EINVAL A sendmsg() operation with a non-NULL msg_accrights was attempted. EACCES A bind() operation was attempted with a "reserved" port number and the effective user ID of the process was not the privileged user. ENOBUFS The system ran out of memory for internal data structures. SunOS 5.10 4 Nov 1999 udp(7P)