[Mono-list] Unable to use raw sockets...

Giuseppe Greco giuseppe.greco@agamura.com
Sat, 14 Feb 2004 19:00:38 +0100


--=-GKVRrlmWQ+6bKJcSMyLA
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

Hi all,

I'm unable to use raw sockets with Mono. I've
written a small sniffer for test purposes,
and I always get the following error message:

  Unhandled Exception: System.Net.Sockets.SocketException:
  Network subsystem is down in (unmanaged)
  /usr/local/lib/libmono.so.0(mono_raise_exception+0x1b) [0xc0b817]
  in (unmanaged) /usr/local/lib/libmono.so.0 [0xc2683d]
  in <0x00054> System.Net.Sockets.Socket:.ctor
    (System.Net.Sockets.AddressFamily,System.Net.Sockets.SocketType,
      System.Net.Sockets.ProtocolType)

The code fragment that causes the exception above is

    Socket socket = new Socket(
      AddressFamily.InterNetwork,
      SocketType.Raw, // doesn't work!!!
      ProtocolType.IP);

Attached to this you will find a tarball that contains the
full source code... just build and try it as superuser!

Note that the attached code works fine on M$ Windows.

Any idea? Are raw sockets already supported by Mono?

Thanks,
j3d

----------------------------------------
Giuseppe Greco

::agamura::

phone:  +41 91 604 67 65
mobile: +41 76 390 60 32
email:  giuseppe.greco@agamura.com
web:    www.agamura.com
----------------------------------------

--=-GKVRrlmWQ+6bKJcSMyLA
Content-Disposition: attachment; filename=socket.tar.gz
Content-Type: application/x-compressed-tar; name=socket.tar.gz
Content-Transfer-Encoding: base64

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

--=-GKVRrlmWQ+6bKJcSMyLA--