#include <string>
#include <iostream>
#include <iomanip>
-#include "Socket/PacketSocketHandle.hh"
+#include "Socket/Protocols/Raw/PacketSocketHandle.hh"
#include "Scheduler/Scheduler.hh"
#include "Utils/membind.hh"
#include "Packets/DefaultBundle/EthernetPacket.hh"
{
try {
senf::PacketSocketHandle sock;
- sock.bind(senf::LLSocketAddress("eth0"));
+ sock.bind(senf::LLSocketAddress("eth1"));
// sock.protocol().promisc("eth0",senf::PacketProtocol::Promiscuous);
while (true) { // forever
- std::string data (sock.read());
- senf::EthernetPacket::ptr packet (
- senf::Packet::create<senf::EthernetPacket>(
- data.begin(), data.end()));
- packet->dump(std::cout);
- hexdump(packet->last()->begin(),
- packet->last()->end());
+ senf::EthernetPacket packet (senf::EthernetPacket::create(
+ senf::EthernetPacket::noinit));
+ sock.read(packet.data(),0);
+ packet.dump(std::cout);
+ hexdump(packet.last().data().begin(),
+ packet.last().data().end());
std::cout << "\n\n";
}
}
private:
void dumpPacket(senf::FileHandle /* ignored */, senf::Scheduler::EventId event)
{
- std::string data (sock.read());
- senf::EthernetPacket::ptr packet (
- senf::Packet::create<senf::EthernetPacket>(
- data.begin(), data.end()));
- packet->dump(std::cout);
- hexdump(packet->last()->begin(),
- packet->last()->end());
+ senf::EthernetPacket packet (
+ senf::EthernetPacket::create(senf::EthernetPacket::noinit));
+ sock.read(packet.data(),0);
+ packet.dump(std::cout);
+ hexdump(packet.last().data().begin(),
+ packet.last().data().end());
std::cout << "\n\n";
}
};
int scheduler_main(int argc, char const * argv[])
{
try {
- Sniffer sniffer ("eth0");
+ Sniffer sniffer ("eth1");
sniffer.run();
}
catch (std::exception const & ex) {
// c-file-style: "senf"
// indent-tabs-mode: nil
// ispell-local-dictionary: "american"
-// compile-command: "scons -u test"
+// compile-command: "scons -u"
// comment-column: 40
// End: