I want to write a small application using Libpcap in C on Linux.
Currently, it starts to sniff and waits for the packets. But that's not what I need actually. I want it to wait for N seconds and then stop listening. (I think there's something wrong with my usage of 'pcap_open_live'...)
How can I achieve that?
Here's my code:
Man page says:
pcap_t *pcap_open_live(const char *device, int snaplen,
int promisc, int to_ms, char *errbuf);
DESCRIPTION
pcap_open_live() is used to obtain a packet capture handle to look at packets on the network. device is a string that specifies the network device to open; on Linux systems with 2.2
or later kernels, a device argument of "any" or NULL can be used to capture packets from all interfaces.
snaplen specifies the snapshot length to be set on the handle.
promisc specifies if the interface is to be put into promiscuous mode.
When I run a script where the 1st parameter is ip address
ftp -n -i -v $1
I hang here if the ip is wrong
how to set a timeout something like
if (20s not complete "ftp -n -i -v $1") then
echo "error"
fi
Thanks a lot. (14 Replies)
Hi
I'm reading about the libpcap documentation. I see that with the function:
pcap_setfilter ( pcap_t *p, struct bpf_program *fp)
we can choose to take one packet instead another.
I read that the struct bpf_program allow us to create a packet filter , ....so if I want just sample some... (2 Replies)
hi! :)
im having a problem while extracting payload from a tcp packet that is captured with libpcap. this is what ive got so far:
const struct ethernet_header *ethernet;
const struct ip_header *ip;
const struct tcp_header *tcp;
const char *payload;
u_int size_ip;
... (0 Replies)
Hi
I'm writing a script which based on a condition, restarts a set of servers. The problem I'm facing is, say if one of the server is down, my script stops there and fails to proceed. How can I ensure to set a timeout value on that script, so when the server is not reachable, the script should... (2 Replies)
Discussion started by: mathbalaji
2 Replies
LEARN ABOUT CENTOS
pppoe-sniff
PPPOE-SNIFF(8) System Manager's Manual PPPOE-SNIFF(8)NAME
pppoe-sniff - examine network for non-standard PPPoE frames
SYNOPSIS
pppoe-sniff [options]
DESCRIPTION
pppoe-sniff listens for likely-looking PPPoE PADR and session frames and deduces extra options required for pppoe(8) to work.
Some DSL providers seem to use non-standard frame types for PPPoE frames, and/or require a certain value in the Service-Name field. It is
often easier to sniff those values from a machine which can successfully connect rather than try to pry them out of the DSL provider.
To use pppoe-sniff, you need two computers, a DSL modem and an Ethernet hub (not an Ethernet switch.)
If the DSL modem normally connects directly to your computer's Ethernet card, connect it to the "uplink" port on the Ethernet hub. Plug
two computers into normal ports on the hub. On one computer, run whatever software the DSL provider gave you on whatever operating system
the DSL provider supports. On the other computer, run Linux and log in as root.
On the Linux machine, put the Ethernet interface into promiscuous mode and start pppoe-sniff. If the ethernet interface is eth0, for exam-
ple, type these commands:
ifconfig eth0 promisc
pppoe-sniff -I eth0
On the other machine, start your DSL connection as usual. After a short time, pppoe-sniff should print recommendations for the value of
PPPOE_EXTRA. Set this value in /etc/ppp/pppoe.conf. If pppoe-sniff indicates that something special is required in PPPOE_EXTRA, please e-
mail this to pppoe@roaringpenguin.com along with the name of your ISP and the manufacturer and model number of your DSL modem. This infor-
mation will be collated and provided on the PPPoE web page for users who do not have two computers.
After pppoe-sniff finishes (or you stop it if it seems hung), remember to turn off promiscuous mode:
ifconfig eth0 -promisc
OPTIONS -I interface
The -I option specifies the Ethernet interface to use. Under Linux, it is typically eth0 or eth1. The interface should be "up" and
in promiscuous mode before you start pppoe-sniff.
-V The -V option causes pppoe-sniff to print its version number and exit.
BUGS
pppoe-sniff only works on Linux.
AUTHORS
pppoe-sniff was written by David F. Skoll <dfs@roaringpenguin.com>.
The pppoe home page is http://www.roaringpenguin.com/pppoe/.
SEE ALSO pppoe-start(8), pppoe-stop(8), pppoe-connect(8), pppd(8), pppoe.conf(5), pppoe(8), pppoe-setup(8), pppoe-status(8), pppoe-server(8), pppoe-
relay(8)4th Berkeley Distribution 3 July 2000 PPPOE-SNIFF(8)