Find Jobs
Hire Freelancers

Windows TAP Interface buffer read/write Visual c/c++

$30-250 USD

Σε Εξέλιξη
Αναρτήθηκε πάνω από 10 χρόνια πριν

$30-250 USD

Πληρωμή κατά την παράδοση
*The project must be completed in visual c++ for windows *a single code with everything I need to compile on a fresh installation of visual c++ *programmer must know routing and bridging to fully understand the project. I have two PCs that run windows xp and I have created a communication channel between the two PC with a propriety protocol I got developed. See illustration below ----Ethernet1---{PC1}------ my communication channel------{PC2}---Ethernet2---- My communication code is in visual c++ and hence I require this code to be programmed with visual c++. what I would like you to do is to use the TAP interface (not the TUN) that OpenVPN uses "[login to view URL]" and create a TAP interface on your test PC that will simulate my PC1. once you install the tap and bring it up, I would like you to bridge the Ethernet interface of your PC simulating my PC1 with the TAP interface. This way if you attach another device, say Laptop A to the Ethernet port of PC1 and Laptop B to the ethernet 1 of PC2, the two PCs PC1 and PC2 in the middle would work as a layer 2 bridge passing an frame that leaves Laptop A all the way to Laptop B and the other way. Please note that my protocol I use in between PC1 and PC2 will use the TAP interface t0 push the frames to the ethernet interfaces via the kernel Please see illustration {laptop A} E1---------------E1{ PC1 } TAP1---------my protocol----------TAP1{ PC2 }E1----------E1{laptop B} So now what I need is 1. that piece of code in visual C++ that will identify the established TAP interface and in a **non block** manner read and write to the TAP interface buffer. I would like you to present me with variables that I will use to read or write the data from and to my own protocol. and for the purpose of illustration please do screen print of the buffer contents on read or write in the "do while" 2. the second requirement is that if PC1 and PC2 now have more than one Ethernet interface then I will create multiple TAP interface one PC1 and PC2 and bridge each ethernet interface with one tap buffer. this means that there is now more than one buffer to read and write to. please show me how this works in visual C++ code. {laptop C} E1---------------E2{ }TAP2---------my protocol----------TAP2{ }E2----------E1{laptop D} {laptop A} E1---------------E1{ PC1 } TAP----my protocol----------TAP1{ PC2 }E1----E1{laptop B} {laptop E} E1---------------E3{ } TAP1--------my protocol----------TAP1{ }E3----------E1{laptop F} 3. the code needs to be very well commented and especially around the way you call the buffer and the name of the TAP interface selection. also please explain to me how to identify when a buffer has a full ethernet frame so that I can read the bits and send them to the other side in the right time. 4. The buffer (variable) read and write need to be super fast please optimize your short code to use the fastest channels available 5. Finally for the purpose of testing and verification of your work and for simplification, I will have one PC and one Laptop when I test your code. I would like you to loop what you receive from the tap interface read and write it back to the Tap interface in your code. this way I will be able to send an ethernet frame from my laptop (say arp broadcast) and be able to see it sent back to me on the laptop using wireshark. There are several illustration of the same concept on linux [login to view URL] you can also check the openvpn that already interfaces with TAP device
Ταυτότητα εργασίας: 5165013

Σχετικά με την εργασία

1 proposal
Απομακρυσμένη Εργασία
Ενεργός/ή 10 χρόνια πριν

Ψάχνεις τρόπο για να κερδίσεις μερικά χρήματα;

Πλεονεκτήματα πλειοδοσίας στο Freelancer

Καθόρισε τον προϋπολογισμό σου και το χρονοδιάγραμμα
Πληρώσου για τη δουλειά σου
Περίγραψε την πρόταση σου
Η εγγραφή και η πλειοδοσία σε εργασίες είναι δωρεάν

Σχετικά με τον πελάτη

Σημαία της CANADA
Dubai, Canada
5,0
1
Επαληθευμένη μέθοδος πληρωμής
Μέλος από Νοε 3, 2013

Επαλήθευση Πελάτη

Ευχαριστούμε! Σου έχουμε στείλει ένα email με ένα σύνδεσμο για να διεκδικήσεις τη δωρεάν πίστωση σου.
Κάτι πήγε στραβά κατά την προσπάθεια αποστολής του email σου. Παρακαλούμε δοκίμασε ξανά.
Εγγεγραμμένοι Χρήστες Συνολικές Αναρτημένες Δουλειές
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Φόρτωση προεπισκόπησης
Δόθηκε πρόσβαση για Geolocation.
Η σύνδεση σου έχει λήξει και τώρα έχεις αποσυνδεθεί. Παρακαλούμε συνδέσου ξανά.