第一步,设置交叉编译工具链到当前环境变量。
注:这里首先切换到root用户,在source命令 执行下面的命令
注意看,这里已经设置好了CC=arm-openstlinux_weston-linux-gnueabi-gcc,后续的编译选项不必要再添加了。
第二步,编译tcpdum
参考这篇文章https://blog.csdn.net/hgh18064291526/article/details/78024203
2.1 从git拉去相应的版本
git clone -b tcpdump-4.99 https://github.com/the-tcpdump-group/tcpdump
2.1 进入tcpdump目录,依次执行下面命令:
./configure --prefix=/root/tcpdump_tool --host=arm-linux
make
make install
过程如下:
第三步,编译libpcap
3.1拉取对应版本
git clone -b libpcap-1.10 https://travis-ci.org/github/the-tcpdump-group/libpcap
2.1 进入libpcap目录,依次执行下面命令:
./configure --prefix=/root/tcpdump_tool --host=arm-linux
make
make install
第四步,看编译结果
进入到/root/tcpdump_tool目录:
tree命令查看编译结果:
root@osboxes:~/tcpdump_tool# tree
.
├── bin
│ ├── pcap-config
│ ├── tcpdump
│ └── tcpdump.4.99.1-PRE-GIT
├── include
│ ├── pcap
│ │ ├── bluetooth.h
│ │ ├── bpf.h
│ │ ├── can_socketcan.h
│ │ ├── compiler-tests.h
│ │ ├── dlt.h
│ │ ├── funcattrs.h
│ │ ├── ipnet.h
│ │ ├── namedb.h
│ │ ├── nflog.h
│ │ ├── pcap.h
│ │ ├── pcap-inttypes.h
│ │ ├── sll.h
│ │ ├── socket.h
│ │ ├── usb.h
│ │ └── vlan.h
│ ├── pcap-bpf.h
│ ├── pcap.h
│ └── pcap-namedb.h
├── lib
│ ├── libpcap.a
│ ├── libpcap.so -> libpcap.so.1
│ ├── libpcap.so.1 -> libpcap.so.1.10.1-PRE-GIT
│ ├── libpcap.so.1.10.1-PRE-GIT
│ └── pkgconfig
│ └── libpcap.pc
└── share
└── man
├── man1
│ ├── pcap-config.1
│ └── tcpdump.1
├── man3
│ ├── pcap.3pcap
│ ├── pcap_activate.3pcap
│ ├── pcap_breakloop.3pcap
│ ├── pcap_can_set_rfmon.3pcap
│ ├── pcap_close.3pcap
│ ├── pcap_compile.3pcap
│ ├── pcap_create.3pcap
│ ├── pcap_datalink.3pcap
│ ├── pcap_datalink_name_to_val.3pcap
│ ├── pcap_datalink_val_to_description.3pcap -> pcap_datalink_val_to_name.3pcap
│ ├── pcap_datalink_val_to_description_or_dlt.3pcap -> pcap_datalink_val_to_name.3pcap
│ ├── pcap_datalink_val_to_name.3pcap
│ ├── pcap_dispatch.3pcap -> pcap_loop.3pcap
│ ├── pcap_dump.3pcap
│ ├── pcap_dump_close.3pcap
│ ├── pcap_dump_file.3pcap
│ ├── pcap_dump_flush.3pcap
│ ├── pcap_dump_fopen.3pcap -> pcap_dump_open.3pcap
│ ├── pcap_dump_ftell.3pcap
│ ├── pcap_dump_open.3pcap
│ ├── pcap_file.3pcap
│ ├── pcap_fileno.3pcap
│ ├── pcap_findalldevs.3pcap
│ ├── pcap_fopen_offline.3pcap -> pcap_open_offline.3pcap
│ ├── pcap_fopen_offline_with_tstamp_precision.3pcap -> pcap_open_offline.3pcap
│ ├── pcap_freealldevs.3pcap -> pcap_findalldevs.3pcap
│ ├── pcap_freecode.3pcap
│ ├── pcap_free_datalinks.3pcap -> pcap_list_datalinks.3pcap
│ ├── pcap_free_tstamp_types.3pcap -> pcap_list_tstamp_types.3pcap
│ ├── pcap_geterr.3pcap
│ ├── pcap_getnonblock.3pcap -> pcap_setnonblock.3pcap
│ ├── pcap_get_required_select_timeout.3pcap
│ ├── pcap_get_selectable_fd.3pcap
│ ├── pcap_get_tstamp_precision.3pcap
│ ├── pcap_init.3pcap
│ ├── pcap_inject.3pcap
│ ├── pcap_is_swapped.3pcap
│ ├── pcap_lib_version.3pcap
│ ├── pcap_list_datalinks.3pcap
│ ├── pcap_list_tstamp_types.3pcap
│ ├── pcap_lookupdev.3pcap
│ ├── pcap_lookupnet.3pcap
│ ├── pcap_loop.3pcap
│ ├── pcap_major_version.3pcap
│ ├── pcap_minor_version.3pcap -> pcap_major_version.3pcap
│ ├── pcap_next.3pcap -> pcap_next_ex.3pcap
│ ├── pcap_next_ex.3pcap
│ ├── pcap_offline_filter.3pcap
│ ├── pcap_open_dead.3pcap
│ ├── pcap_open_dead_with_tstamp_precision.3pcap -> pcap_open_dead.3pcap
│ ├── pcap_open_live.3pcap
│ ├── pcap_open_offline.3pcap
│ ├── pcap_open_offline_with_tstamp_precision.3pcap -> pcap_open_offline.3pcap
│ ├── pcap_perror.3pcap -> pcap_geterr.3pcap
│ ├── pcap_sendpacket.3pcap -> pcap_inject.3pcap
│ ├── pcap_set_buffer_size.3pcap
│ ├── pcap_set_datalink.3pcap
│ ├── pcap_setdirection.3pcap
│ ├── pcap_setfilter.3pcap
│ ├── pcap_set_immediate_mode.3pcap
│ ├── pcap_setnonblock.3pcap
│ ├── pcap_set_promisc.3pcap
│ ├── pcap_set_protocol_linux.3pcap
│ ├── pcap_set_rfmon.3pcap
│ ├── pcap_set_snaplen.3pcap
│ ├── pcap_set_timeout.3pcap
│ ├── pcap_set_tstamp_precision.3pcap
│ ├── pcap_set_tstamp_type.3pcap
│ ├── pcap_snapshot.3pcap
│ ├── pcap_stats.3pcap
│ ├── pcap_statustostr.3pcap
│ ├── pcap_strerror.3pcap
│ ├── pcap_tstamp_type_name_to_val.3pcap
│ ├── pcap_tstamp_type_val_to_description.3pcap -> pcap_tstamp_type_val_to_name.3pcap
│ └── pcap_tstamp_type_val_to_name.3pcap
├── man5
│ └── pcap-savefile.5
└── man7
├── pcap-filter.7
├── pcap-linktype.7
└── pcap-tstamp.7
11 directories, 107 files