lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Thu, 19 Jun 2008 03:33:09 -0700 (PDT)
From:	SHUperb <lin.en.shu@...il.com>
To:	linux-kernel@...r.kernel.org
Subject: IP layer send packet


Hi kernel experts,

I’m trying to modify the IP packet src & dest address after receiving from
the wire and reconstruct the packet at kernel layer without going to apps
layer and ultimately send out the packet. So, the recommended API to be used
is ip_finish_output() (as it is the only exported symbol to send UDP
packets). However, since the IP header content are changed, the system must
automatically recalculate checksum and needs mac address as well, and most
of the time mac address of unknown hosts.

Currently, when I try, I need to invoke mac address resolution via arp by
manually calling neigh_lookup of existing arp entry before sending the
packet by calling dev_queue_xmit(). 

My questions is how can I change (dest/src IP and port number) at before
ip_finish_output() by accessing specific struct should I want to send the
packet to unknown hosts (unknown means remote hosts that do not have an arp
entry in local host's arp table) by calling ip_finish_output().

Thank you very much for your advice.

-- 
View this message in context: http://www.nabble.com/IP-layer-send-packet-tp18005751p18005751.html
Sent from the linux-kernel mailing list archive at Nabble.com.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ