Sponsored Content
Special Forums IP Networking set the source IP address to zero Post 11968 by developer on Friday 14th of December 2001 07:35:53 PM
Old 12-14-2001
Thanx mate. I ll try to recompile the kernel. I was also thinking to use setsockopt but I did not find any option to allow me to do something like that. Do you know if such an option exist or the only way is the recompilation of the kernel?
 

10 More Discussions You Might Find Interesting

1. IP Networking

set ip address

I'm new to Solaris. How do I set a server's IP address? Thanks in advance. (3 Replies)
Discussion started by: confused
3 Replies

2. IP Networking

source address woes

I have checkpoint firewall-1 running on a solaris 7 sparc box with two physical working networks interface cards hme0, qfe0, (please note these are false addresses) qfe0 = 195.111.222.178 internet ISP hme0 = 172.19.12.58 /24 internal Lan which has a router to france on it I want to... (3 Replies)
Discussion started by: hcclnoodles
3 Replies

3. Forum Support Area for Unregistered Users & Account Problems

Email Address set up too late

I set up the email address for my account too late for it to be activated prior to the transmission of the activate message from unix.com. Can you resend that message? (2 Replies)
Discussion started by: Retson Retap
2 Replies

4. IP Networking

Selecting interface based on source and destination ip address

Hi all, I have some doubts in selecting the interface to transfer packets and receive the packets. --> Multiple interfaces : -------------------- 1) 0.0.0.0 --------> wild card address. 2) x.x.x.x --------> valid address.(192.168.1.156) 3) ff.ff.ff.ff -------->... (0 Replies)
Discussion started by: vijaypdp2006
0 Replies

5. UNIX for Dummies Questions & Answers

How to set server's ip address, router, network mask and set if it is an internal or external ip?

Hello, I need to write a program which sets server's ip address, router, network mask. Program also should set if it is an internal or external ip. Maybe someone can help me ? Any information from u is very useful :b: I stopped at .. :( #!/bin/sh A=`hostname -i` echo "server ip address is $A"... (4 Replies)
Discussion started by: zagaruika
4 Replies

6. Solaris

ping with source address

Hello, is there any way to ping with source address on Solaris ? (3 Replies)
Discussion started by: marmellata
3 Replies

7. IP Networking

iproute2 loopback source address

Hi, I'm trying to set up a test bed where I can use a single machine to do some network packet captures between 2 different applications without needing a network connection. I'm actually trying to do some SIP VoIP development, but for illustration purposes will use ping. I want: ping 127.0.0.1... (0 Replies)
Discussion started by: racitup
0 Replies

8. SuSE

FTP set codepage of source dataset

I have a file on Suse Linux which is created in codepage 420. I need to FTP this file to a remote server with codepage 1256. How do I specify in FTP that the source codepage is 420 instead of the Linux default? Is this possible with curl or any other ftp client on Linux. I don't see a... (2 Replies)
Discussion started by: tsdjim
2 Replies

9. Solaris

How to set gateway address to a particular interface?

How to set gateway address to a particular interface? waht are the files need to update to make it permanent? (2 Replies)
Discussion started by: Naveen.6025
2 Replies

10. IP Networking

Source IP address field in RREP on DSR routing

Hello I have a question about routing in MANET using Dynamic Source Routing protocol. IN RFC4728 (DSR) in section "IP fields" of RREP (Route Reply) packet we have this: ok. I read in several books and also in rfc4728 that: when a source node (node that initiate route discovery process)... (1 Reply)
Discussion started by: acu281
1 Replies
RAW(7)							     Linux Programmer's Manual							    RAW(7)

NAME
raw, SOCK_RAW - Linux IPv4 raw sockets SYNOPSIS
#include <sys/socket.h> #include <netinet/in.h> raw_socket = socket(PF_INET, SOCK_RAW, int protocol); DESCRIPTION
Raw sockets allow new IPv4 protocols to be implemented in user space. A raw socket receives or sends the raw datagram not including link level headers. The IPv4 layer generates an IP header when sending a packet unless the IP_HDRINCL socket option is enabled on the socket. When it is enabled, the packet must contain an IP header. For receiving the IP header is always included in the packet. Only processes with an effective user id of 0 or the CAP_NET_RAW capability are allowed to open raw sockets. All packets or errors matching the protocol number specified for the raw socket are passed to this socket. For a list of the allowed pro- tocols see RFC1700 assigned numbers and getprotobyname(3). A protocol of IPPROTO_RAW implies enabled IP_HDRINCL and is able to send any IP protocol that is specified in the passed header. Receiving of all IP protocols via IPPROTO_RAW is not possible using raw sockets. +---------------------------------------------------+ |IP Header fields modified on sending by IP_HDRINCL | +----------------------+----------------------------+ |IP Checksum |Always filled in. | +----------------------+----------------------------+ |Source Address |Filled in when zero. | +----------------------+----------------------------+ |Packet Id |Filled in when zero. | +----------------------+----------------------------+ |Total Length |Always filled in. | +----------------------+----------------------------+ If IP_HDRINCL is specified and the IP header has a non-zero destination address then the destination address of the socket is used to route the packet. When MSG_DONTROUTE is specified the destination address should refer to a local interface, otherwise a routing table lookup is done anyways but gatewayed routes are ignored. If IP_HDRINCL isn't set then IP header options can be set on raw sockets with setsockopt(2); see ip(7) for more information. In Linux 2.2 all IP header fields and options can be set using IP socket options. This means raw sockets are usually only needed for new protocols or protocols with no user interface (like ICMP). When a packet is received, it is passed to any raw sockets which have been bound to its protocol before it is passed to other protocol han- dlers (e.g. kernel protocol modules). ADDRESS FORMAT
Raw sockets use the standard sockaddr_in address structure defined in ip(7). The The sin_port field could be used to specify the IP proto- col number, but it is ignored for sending in Linux 2.2 and should be always set to 0 (see BUGS) For incoming packets sin_port is set to the protocol of the packet. See the <netinet/in.h> include file for valid IP protocols. SOCKET OPTIONS
Raw socket options can be set with setsockopt(2) and read with getsockopt(2) by passing the SOL_RAW family flag. ICMP_FILTER Enable a special filter for raw sockets bound to the IPPROTO_ICMP protocol. The value has a bit set for each ICMP message type which should be filtered out. The default is to filter no ICMP messages. In addition all ip(7) SOL_IP socket options valid for datagram sockets are supported. NOTES
Raw sockets fragment a packet when its total length exceeds the interface MTU (but see BUGS). A more network friendly and faster alterna- tive is to implement path MTU discovery as described in the IP_PMTU_DISCOVER section of ip(7). A raw socket can be bound to a specific local address using the bind(2) call. If it isn't bound all packets with the specified IP protocol are received. In addition a RAW socket can be bound to a specific network device using SO_BINDTODEVICE; see socket(7). An IPPROTO_RAW socket is send only. If you really want to receive all IP packets use a packet(7) socket with the ETH_P_IP protocol. Note that packet sockets don't reassemble IP fragments, unlike raw sockets. If you want to receive all ICMP packets for a datagram socket it is often better to use IP_RECVERR on that particular socket; see ip(7). Raw sockets may tap all IP protocols in Linux, even protocols like ICMP or TCP which have a protocol module in the kernel. In this case the packets are passed to both the kernel module and the raw socket(s). This should not be relied upon in portable programs, many other BSD socket implementation have limitations here. Linux never changes headers passed from the user (except for filling in some zeroed fields as described for IP_HDRINCL). This differs from many other implementations of raw sockets. RAW sockets are generally rather unportable and should be avoided in programs intended to be portable. Sending on raw sockets should take the IP protocol from sin_port; this ability was lost in Linux 2.2. Work around is to use IP_HDRINCL. ERROR HANDLING
Errors originating from the network are only passed to the user when the socket is connected or the IP_RECVERR flag is enabled. For con- nected sockets only EMSGSIZE and EPROTO are passed for compatibility. With IP_RECVERR all network errors are saved in the error queue. ERRORS
EMSGSIZE Packet too big. Either Path MTU Discovery is enabled (the IP_PMTU_DISCOVER socket flag) or the packet size exceeds the maximum allowed IPv4 packet size of 64KB. EACCES User tried to send to a broadcast address without having the broadcast flag set on the socket. EPROTO An ICMP error has arrived reporting a parameter problem. EFAULT An invalid memory address was supplied. EOPNOTSUPP Invalid flag has been passed to a socket call (like MSG_OOB). EINVAL Invalid argument. EPERM The user doesn't have permission to open raw sockets. Only processes with a effective user id of 0 or the CAP_NET_RAW attribute may do that. VERSIONS
IP_RECVERR and ICMP_FILTER are new in Linux 2.2. They are Linux extensions and should not be used in portable programs. Linux 2.0 enabled some bug-to-bug compatibility with BSD in the raw socket code when the SO_BSDCOMPAT flag was set - that has been removed in 2.2. BUGS
Transparent proxy extensions are not described. When the IP_HDRINCL option is set datagrams will not be fragmented and are limited to the interface MTU. This is a limitation in Linux 2.2. Setting the IP protocol for sending in sin_port got lost in Linux 2.2. The protocol that socket was bound to or that was specified in the initial socket(2) call is always used. AUTHORS
This man page was written by Andi Kleen. SEE ALSO
ip(7), socket(7), recvmsg(2), sendmsg(2) RFC1191 for path MTU discovery. RFC791 and the <linux/ip.h> include file for the IP protocol. Linux Man Page 1998-10-02 RAW(7)
All times are GMT -4. The time now is 11:14 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy