Ethical Hacking Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package. | Computer Forensics Training at InfoSec Institute Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors. |

| Subject: | Re: Code working with LIBNET_RAW4, not with LIBNET_LINK |
|---|---|
| Date: | Thu, 20 Jan 2005 14:21:28 -0600 |
Karen, It seems that there is a router between the machines that you are testing with. In that case packets will travel like this: Source ---> Router ----> Target In case of LIBNET_RAW4, it correctly finds out the mac address of router NOT the target. That's why it's working. In case of LIBNET_LINK, you are hardcoding the mac address of the target and packet never finds any such destination. cheers, -Manu On Thu, 20 Jan 2005 02:32:13 -0600, Karen Pease <meme@daughtersoftiresias.org> wrote:
On Wednesday 19 January 2005 2:10 pm, you wrote:Read through the sample code that comes with libnet (www.packetfactory.net/libnet). This sounds like a simple problem that could be solved by seeing the relevant code.Actually, I did run into these previously when searching the net; they were no help. They don't work, and I can't see how they would work. For example, lets look at the one that's closest to what I'm doing - udp2.c. It sets the destination mac to the value of enet_dst. This variable isn't modified at all in udp2.c - it is defined, initialized, and never changed in libnet_test.h, as: u_char enet_dst[6] = {0x00, 0x10, 0x67, 0x00, 0xb1, 0x86}; A preset hwaddr? How could that possibly work? It doesn't, at least when I've tried it. Lets call my machine Source, and the other machine Target. First off, I shut off iptables on Source and Target, just in case. Now, running tcpdump on the target machine as follows: [root@ipl3 kpease]# /usr/sbin/tcpdump | grep <Source> tcpdump: listening on eth0 Now, lets test the tcpdump by pinging the computer: 02:15:24.398157 <Source> > <Target>: icmp:echo request (DF) 02:15:26.044271 <Source> > <Target>: icmp:echo request (DF) 02:15:26.470916 <Source> > <Target>: icmp:echo request (DF) Etc. So, we know it's working. So, I try: while true; do ./udp2 -s <Source> -d <Target> -P 22; done Not a thing shows up (port 22 is not only unblocked, but open and recieving connections, as evidenced from nmap from Source). So, lets try tcp there: while true; do ./tcp1 -s <Source>:30000 -d <Target>.22; done Not a thing. Once again, it's using that hard coded mac addr, so I can't see how it would make it. So, enough with the samples - to my code. Here's what gets sent when I use LIBNET_RAW4: 00:31:45.778733 IP <Source>.30000 > <Target>.http: UDP, leng 0x0000: 0020 e035 5440 0050 046c e730 0800 4500 ...5T@.P.l.0..E. 0x0010: 0026 8d68 0000 4011 1d41 c0a8 0003 81ff .&.h..@..A...... 0x0020: 8d73 7530 0050 0008 ba3f 0102 0304 0506 .su0.P...?...... 0x0030: 7465 7374 test And here is with LIBNET_LINK 00:34:07.799767 IP <Source>.30000 > <Target>.http: UDP, leng 0x0000: 0004 758f 1153 0050 046c e730 0800 4500 ..u..S.P.l.0..E. 0x0010: 0026 0000 0000 4011 aaa9 c0a8 0003 81ff .&....@......... 0x0020: 8d73 7530 0050 0008 ba3f 0102 0304 0506 .su0.P...?...... 0x0030: 7465 7374 test Looking at the ethernet header, we find: LIBNET_RAW4: Dest MAC: 00 20 e0 35 54 40 LIBNET_LINK: Dest MAC: 00 04 75 8F 11 53 Source MAC: 00 50 04 6C E7 30 Ethertype: 08 00 What I don't get is why LIBNET_RAW uses 00 20 e0 35 54 40. Because, in my test case, I hard-coded the target machine's mac addr - here's its output from ifconfig: eth0 Link encap:Ethernet HWaddr 00:04:75:8F:11:53 inet addr:<Target> Bcast:<TargetBcast> Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:8662615 errors:0 dropped:0 overruns:1 frame:0 TX packets:1625176 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2317535814 (2210.1 Mb) TX bytes:996608893 (950.4 Mb) Interrupt:17 Base address:0xd400 So, in short, I'm confused. - Karen
-- Manu Garg http://manugarg.freezope.org "Wake Up! Free Thyself."
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | Protocol support todo, Andrew R. Reiter |
|---|---|
| Next by Date: | Help on installation, jolek |
| Previous by Thread: | Re: Code working with LIBNET_RAW4, not with LIBNET_LINK, Karen Pease |
| Next by Thread: | Re: Code working with LIBNET_RAW4, not with LIBNET_LINK, Karen Pease |
| Indexes: | [Date] [Thread] [Top] [All Lists] |