导航:首页 > 编程系统 > linuxc抓包

linuxc抓包

发布时间:2023-07-02 15:24:11

Ⅰ 在linuxcentos系统里面怎么用命令删除服务

一.更改telnet登录慢的问题: cd /etc vi resolv.conf 将里面内容清空 二.更改root用户不能直接远程登录问题: cd /etc cd pam.d vi login 注释掉这行 #auth required pam_s
一.更改telnet登录慢的问题:
cd /etc
vi resolv.conf
将里面内容清空

二.更改root用户不能直接远程登录问题:
cd /etc
cd pam.d
vi login
注释掉这行
#auth required pam_securetty.so //该行注释掉 三.挂接usb移动硬盘
将移动硬盘挂上.
#df 查看linux下硬盘盘符
mount /dev/sda1 /mnt/usb (举例) 四.linux时区同步问题(安装ntp软件过程)
首先在http://www.meinberg.de/english/sw/index.htm
下载了一个windows的ntp服务程序:ntp4171.zip
windows 192.168.1.32
1.安装是提示设置服务器地址,我设置的本机widows机器的ip
2.ntpd的控制在:
控制面板->管理工具->组件服务-networktimeprotocol
3.可以启动ntpd守护进程保持时间同步
4.在c:\winnt目录下有个ntp的配置文件ntp.conf
设置为:
server 127.127.1.0 prefer
fudge 127.127.1.0 stratum 10
5.确定ntp是否工作: ntpq -p
linux和windows同步,我用的是redhat 9.0
执行命令:ntpdate 192.168.1.32
你就会发现你的时间变化了,和192.168.1.32的时间一样
如果执行命令出现一下错误
1.提示:7 dec 19:24:55 ntpdate[2120]: the ntp socket is in use, exiting
这个是你linux机器上已经存在这个进程,输入:ps -ef | grep ntpd
kill掉ntp的进程
2.提示:no server suitable for synchronization found
这个是最容易出现的问题,比较常见的是配置好服务器并启动服务器进程后 ,马上
启动客户进程,那么客户进程就会报错。解决方法是,在大约3-5分钟以后 启动进程就行
我想每10分钟就和windows服务同步时间
1.创建自己的一个crontab文件,随便建立一个文件date.cron,首先可以使用 任何文本
编辑器建立一个新文件,然后向其中写入需要运行的命令和要定期执行的时 间。
vi date.cron加入下面要运行的命令和要定期执行的时间
*/10 * * * * /usr/sbin/ntpdate 192.168.1.32
然后存盘退出
2.使用crontab命令来安装这个文件,使之成为该用户的crontab文件。键入:
crontab date.cron
这个文件已经建立好了
3.使用命令:
crontab -l (查看安排的作业序列)可以看到刚才的作业
如:
[root@nxd-test root]# crontab -l
# do not edit this file - edit the master and reinstall.
# (date.cron installed on tue dec 7 18:22:42 2004)
# (cron version -- $id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie exp $)
*/10 * * * * /usr/sbin/ntpdate 192.168.1.32
现在就ok了,每10分钟linux就和服务端同步一次。 更改linux启动时用图形界面还是字符界面
cd /etc
vi inittab
将id:5:initdefault: 其中5表示默认图形界面
改id:3: initdefault: 3表示字符界面 6.重新启动xinetd)
/etc/init.d/xinetd restart 7.重启smb服务
/etc/init.d/smb restart 8.配置smb可以被哪些ip所用.
cd /etc/samba
vi smb.conf
找到hosts allow = 192.168.1. 192.168.2. 127.
修改其为哪些机器所用,注意ip之间用逗号分开
举例:
hosts allow =192.168.1.110,192.168.1.120 9.禁止在后台使用ctrl-alt-delete重起机器
cd /etc/inittab
vi inittab 在文件找到下面一行
# trap ctrl-alt-delete
ca::ctrlaltdel:/sbin/shutdown -t3 -r now (注释掉这一行)
如: # trap ctrl-alt-delete
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now 10.修改主机名
vi /etc/sysconfig/network
修改hostname一行为hostname=主机名 11[.重新启动ftp服务
/sbin/service vsftpd restart 12.[查看开机检测的硬件
dmesg | more 13.查看硬盘使用情况
df –m 14.查看目录的大小
–sh dirname 15.解压小全
tar xvfj lichuanhua.tar.bz2
tar xvfz lichuanhua.tar.gz
tar xvfz lichuanhua.tgz
tar xvf lichuanhua.tar
unzip lichuanhua.zip
.gz
解压1:gunzip filename.gz
解压2:gzip -d filename.gz
压缩:gzip filename
.tar.gz
解压:tar zxvf filename.tar.gz
压缩:tar zcvf filename.tar.gz dirname
---------------------------------------------
.bz2
解压1:bzip2 -d filename.bz2
解压2:bunzip2 filename.bz2
压缩: bzip2 -z filename
.tar.bz2
解压:tar jxvf filename.tar.bz2
压缩:tar jcvf filename.tar.bz2 dirname
---------------------------------------------
.bz
解压1:bzip2 -d filename.bz
解压2:bunzip2 filename.bz
压缩:未知
.tar.bz
解压:tar jxvf filename.tar.bz
压缩:未知
---------------------------------------------
.z
解压:uncompress filename.z
压缩:compress filename
.tar.z
解压:tar zxvf filename.tar.z
压缩:tar zcvf filename.tar.z dirname
---------------------------------------------
.tgz
解压:tar zxvf filename.tgz
压缩:未知
.tar.tgz
解压:tar zxvf filename.tar.tgz
压缩:tar zcvf filename.tar.tgz filename
---------------------------------------------
.zip
解压:unzip filename.zip
压缩:zip filename.zip dirname
---------------------------------------------
.rar
解压:rar a filename.rar
压缩:rar e filename.rar
rar请到:http://www.rarsoft.com/download.htm 下载!
解压后请将rar_static拷贝到/usr/bin目录(其他由$path环境变量指定的目录 也可以):
[root@www2 tmp]# cp rar_static /usr/bin/rar
---------------------------------------------
.lha
解压:lha -e filename.lha
压缩:lha -a filename.lha filename lha请到:http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/下载!
解压后请将lha拷贝到/usr/bin目录(其他由$path环境变量指定的目录也可以 ):
[root@www2 tmp]# cp lha /usr/bin/
---------------------------------------------
.tar .tgz .tar.gz .tar.z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解压:sex x filename.*
压缩:sex a filename.* filename
16.显示内存使用情况
free –m 17.忘记了root密码 一. lilo
1. 在出现lilo菜单的时候按“ctrl+x”或者“tab",然后输入:linux single
或者用光盘
在出现 lilo: 提示时键入 linux single
画面显示 lilo: linux single
2. 回车可直接进入linux命令行
3. #vi /etc/shadow
将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
第一行将类似于
root::......
保存
4. #reboot重启,root密码为空 二.grub
1.出现grub画面时,用上下键选启动linux的哪一项,按e键
2.上下键选择 kernel /boot/……… 然后按e键
3.修改现在见到的命令好,加入single 结果:
kernel /boot/vmlinuz-2.4.20-8 single ro root=label=
4.回车返回,按b键启动,直接进入linux命令行
直接执行: passwd root
修改密码,你的密码就搞定
5.也可以修改/etc/shadow中
将第一行,即以root开头的一行中root:后和下一个:前的内容删除,
第一行将类似于
root::......
保存
reboot重启,root密码为空 18.显示系统运行了多长时间
uptime 19.重新启动网络
/etc/init.d/network restart 20.显示开机自检的内容命令
dmesg 21.查看端口
netstat –an
netstat -anp 22..端口的详细列表
/etc/services 23.查看物理信息
lspci 24.安装图形界面不能出现,使用解析进行安装
linux lowres (使用的是640x480分辨率) 25.屏蔽主机的ping 命令,是被别人无法ping你的机器
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 26.彻底删除oracle安装的程序,删除一下几个目录
/etc/orainst.loc /tmp/<otherowerdfile
/etc/oratab $oracle_base/* 27.linux启动到文字界面(不启动xwindows界面)
vi /etc/inittab在下面一行
id:5:initdefault: 一行中的5改为3
启动xwindows 是5
文字截面是 3
28.rpm包
1.卸载 rpm –e
2.查询 rpm –q
-a 查询所有已安装的软件包
-f 查询包含文件<file>的软件的包
-i 显示软件包信息
-l 显示软件包的文件列表
3.验证 rpm –v
rpm –va 验证整个文件丢失了哪些文件
碰到不认识的文件使用
rpm –qf
4.一个rpm包安装到哪里去了(已经安装的包)
rpm –qi 包名(这里不包括.rpm后缀的软件名称,也就是说只能用mysql或者 mysql-3.23.54a而不是mysql-3.23.54a.rpm)
5.一个rpm包中包含哪些文件
一个没有安装过的软件包:使用rpm –qip ***.rpm
一个已经安装过的软件包: 使用rpm –qi ***.rpm 29.看已经安装的字符集
locale –a 30.抓包命令tcpmp
例:抓获192.168.1.32 的主机收到和发出的所有的数据包
tcpmp host 192.168.1.32
截获特定的端口
tcpmp tcp port 21 host 192.168.1.32 31.文本截面的中文支持
rh 9.0自带安装包 zhcon_0.2.3_1.rh9.i386.rpm
安装完成后,执行: zhcon 就可以支持中文了 32.查看端口现在运行什么程序
lsof –i:8001 33.察看实时的日志
tail –f /var/log/messages 34.当mount出现死的现象
1.fuser –m /mnt/share 查出该程序的进程,然后kill掉
2.再umount /mnt/share 35.linux 控制 windows
1.用rh9.0自己带rdesktop,版本是1.2.0
命令:rdesktop –u user –f 192.168.1.70 色默认的是8位
2要达到16色,就要下载新版本1.3.0
rdesktop –a 16 –u lichuanhua –g 800*600 192.168.1.70

36. linux挂载windows分区
mount ntfs分区
一.单机挂windows的ntfs分区
1. 上www.google.com搜索并下载 kernel-ntfs-2.4.18-14.i686.rpm
2. rpm -ivh kernel-ntfs-2.4.18-14.i686.rpm
3. mkdir /mnt/share
4. mount -t ntfs /dev/hda1 /mnt/share
要挂载windows分区,首先新建一个目录/mnt/share,修改/etc/fstab,在最末 尾添上(假设windows安装在硬盘的第1个分区)
/dev/hda1 /mnt/share ntfs defaults 0 0
二.网络上一台windows和linux机器,linux机器挂载windows上的共享文件
windows ip:192.168.1.1
1.linux挂载192.168.1.1(windows)上共享文件dbf,挂在linux的/mnt/share目 录下,在/mnt下建立share目录
mount -t smbfs -o username=massky,password=massky //192.168.
1.1/dbf /mnt/share
2.机器重启自动挂载,vi /etc/fstab最后加入:
//192.168.1.1/dbf /mnt/share smbfs defaults,auto,username=m
assky,password=massky 0 0 37.oracle9i在linux9.0上的安装
1.确保rpm开发包,使用下面命令查看是否已安装这些包
rpm -q gcc cpp compat-libstdc++ glibc-devel glibc-kernheaders binutils
2.进行解压
zcat linux9i_disk1.cpio.gz | cpio -idmv
zcat linux9i_disk2.cpio.gz | cpio -idmv
zcat linux9i_disk3.cpio.gz | cpio -idmv
3.设置内核参数
vi /etc/sysctl.conf,加入下面参数
kernel.shmmax=4294967295 内存512m
计算方法为:kernel:shmmax=1024*1024*ram(m)/2
执行sysctl -p生效
4.建立数据目录和用户
groupadd dba
groupadd oinstall
useradd –g oinstall –g dba oracle
passwd oracle mkdir /opt/oracle
mkdir /opt/oracle/proct
mkdir /opt/oracle/proct/9.2.0
chown –r oracle.oinstall /opt/oracle
mkdir /var/opt/oracle
chown oracle.dba /var/opt/oracle
chmod 755 /var/opt/oracle
5.vi .bash_profile 设置变量
export ld_assume_kernel=2.4.1
export oracle_base=/opt/oracle
export oracle_home=/opt/oracle/proct/9.2.0
export oracle_sid=ora9i
export oracle_term=xterm
export tns_admin=$oracle_home/network/admin
export nls_lang=american_america.zhs16gbk
export ora_nls33=$oracle_home/ocommon/nls/admin/data
ld_library_path=$oracle_home/lib:/lib:/usr/lib
ld_library_path=$ld_library_path:/usr/local/lib
export ld_library_path export path=$path:$oracle_home/bin
classpath=$oracle_home/jre:$oracle_home/jlib:$oracle_home/rdbms/jlib
classpath=$classpath:$oracle_home/network/jlib
export classpath
38.网卡的激活与停止
超级用户;
ifconfig eth0 down 停止
ifconfig eth0 up 启动 40.linux下cvs的安装配置
1.安装cvs软件包.
2.groupadd cvs
3.useradd -g cvs cvsroot
4.chmod 777 -r /home/cvsroot
5.cd /etc
6.vi profile
新增以下二行:
cvsroot=/home/cvsroot export cvsroot
cvsedit=vi export cvsedit
7.查看/etc/services文件中cvspserver 所在行的注释状态(有则把注释去掉)
8.进入 /etc /xinetd.d, vi cvspserver该文件不存在,内容如下:
service cvspserver
{
disable = no
socket_type =stream
wait =no
user =root
env =home=
server =/usr/bin/cvs
server_args =--allow-root=/home/cvsroot pserver
log_on_failure +=userid
}
9.vi /etc/xinetd.conf 内容如下,每次开机自动启动服务:
service cvspserver
{
port = 2401
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
bind = 168.168.1.110
}
重新登录 换cvsroot用户
10./etc/init.d/xinetd restart
11.cvs init(初始化:cvs版本库的初始化)
12.cvs -d :pserver:[email protected]:/home/cvsroot login(用户登录 )没有任何提示信息就成功。
13.首先要导入库,假设项目名称为linuxisquote.
步骤:
1、进入linuxisquote.
2、一个项目的首次导入
cvs import linuxisquote lch v_0_0_1
此时到$cvsroot目录下,可以看到多了一个linuxisquote的目录。 41.命令绝对路径
.如果不是绝对路径的话,你可以这样输入
(1)[root@redhat linux]# whereis adser
adser: /usr/sbin/adser /usr/share/man/man8/adser.8.gz
你这样输入就可以了 /usr/sbin/adser xxx
(2) 或者改vi /etc/profile,加入一句:path=$path:/usr/sbin:. export path,
就可以直接输入adser 42.修改用户的权限
.改用户权限的话,你可以改vi /etc/passwd
如:我想lll变成和root用户一样,就改: lll:x:508:508::/home/lll:/bin/bash
改后面的 508 为和root后面的数据一样的就可以了!
改为:lll:x:508:0::/home/lll:/bin/bash
lll就拥有root的权限了。 43.修改grub启动时的背景图片
1将一图片转化成640*480,14色的xpm #convert abc.jpg -colors 14 -geometry 640x480! abc.xpm
2 压缩生成的xpm文件,使用gzip
#gzip -9 abc.xpm
3 将abc.xpm.gz拷到/boot/grub下
4修改/boot/grub/menu.lst
splashimage=(hd0,0)/boot/grub/abc.xpm.gz 44.vnc for linux的安装
1.第一步在linux上安装vncserver
tar zxvf vnc-x.tgz
cd x
cp *vnc* /usr/local/bin/
没有vnc 目录,就建vnc目录
mkdir /usr/local/vnc
cp -r classes/ /usr/local/vnc/
2.设置vnc server的访问密码
vncpasswd
3.linux版vnc server的改进.首先执行vncserver
修改/root/.vnc/xstartup里的 twm $ 为gnome-session &
4.启动vnc server
vncserver
注意new x desktop is kill:3 记住3是客户端要用到的端口
5.客户端启动vncviewer,输入:如192.168.1.110:3
ok,你就看到了。。哈。。
如果在windows客户机中安装了ie或netscape,还可以启动ie或netscape
然后在地址栏输入(如果是1的话)
http://192.168.1.64:5801

Ⅱ 渗透测试之端口扫描

端口扫描:端口对应网络服务及应用端程序

服务端程序的漏洞通过端口攻入

发现开放的端口

更具体的攻击面

UDP端口扫描:

如果收到ICMP端口不可达,表示端口关闭

如果没有收到回包,则证明端口是开放的

和三层扫描IP刚好相反

Scapy端口开发扫描

命令:sr1(IP(dst="192.168.45.129")/UDP(dport=53),timeout=1,verbose=1)

nmap -sU 192.168.45.129

TCP扫描:基于连接的协议

三次握手:基于正常的三次握手发现目标是否在线

隐蔽扫描:发送不完整的数据包,不建立完整的连接,如ACK包,SYN包,不会在应用层访问,

僵尸扫描:不和目标系统产生交互,极为隐蔽

全连接扫描:建立完整的三次握手

所有的TCP扫描方式都是基于三次握手的变化来判断目标系统端口状态

隐蔽扫描:发送SYN数据包,如果收到对方发来的ACK数据包,证明其在线,不与其建立完整的三次握手连接,在应用层日志内不记录扫描行为,十分隐蔽,网络层审计会被发现迹象

僵尸扫描:是一种极其隐蔽的扫描方式,实施条件苛刻,对于扫描发起方和被扫描方之间,必须是需要实现地址伪造,必须是僵尸机(指的是闲置系统,并且系统使用递增的IPID)早期的win xp,win 2000都是递增的IPID,如今的LINUX,WINDOWS都是随机产生的IPID

1,扫描者向僵尸机发送SYN+ACY,僵尸机判断未进行三次握手,所以返回RST包,在RST数据包内有一个IPID,值记为X,那么扫描者就会知道被扫描者的IPID

2,扫描者向目标服务器发送SYN数据包,并且伪装源地址为僵尸机,如果目标服务器端口开放,那么就会向僵尸机发送SYN+ACK数据包,那么僵尸机也会发送RST数据包,那么其IPID就是X+1(因为僵尸机足够空闲,这个就为其收到的第二个数据包)

3,扫描者再向僵尸机发送SYN+ACK,那么僵尸机再次发送RST数据包,IPID为X+2,如果扫描者收到僵尸机的IPID为X+2,那么就可以判断目标服务器端口开放

使用scapy发送数据包:首先开启三台虚拟机,

kali虚拟机:192.168.45.128

Linux虚拟机:192.168.45.129

windows虚拟机:192.168.45.132

发送SYN数据包:

通过抓包可以查看kali给linux发送syn数据包

linux虚拟机返回Kali虚拟机SYN+ACK数据包

kali系统并不知道使用者发送了SYN包,而其莫名其妙收到了SYN+ACK数据包,便会发RST包断开连接

也可以使用下列该命令查看收到的数据包的信息,收到对方相应的SYN+ACK数据包,scapy默认从本机的80端口往目标系统的20号端口发送,当然也可以修改

如果向目标系统发送一个 随机端口:

通过抓包的获得:1,kali向linux发送SYN数据包,目标端口23456,

2,Linux系统由自己的23456端口向kali系统的20号端口返回RST+ACK数据包,表示系统端口未开放会话结束

使用python脚本去进行scapy扫描

nmap做隐蔽端口扫描:

nmap -sS  192.168.45.129 -p 80,21,110,443 #扫描固定的端口

nmap -sS 192.168.45.129 -p 1-65535 --open  #扫描该IP地址下1-65535端口扫描,并只显示开放的端口

nmap -sS 192.168.45.129 -p --open  #参数--open表示只显示开放的端口

nmap -sS -iL iplist.txt -p 80

由抓包可知,nmap默认使用-sS扫描,发送SYN数据包,即nmap=nmap  -sS

hping3做隐蔽端口扫描:

hping3 192.168.45.129 --scan 80 -S  #参数--scan后面接单个端口或者多个端口.-S表示进行SYN扫描

hping3 192.168.45.129 --scan 80,21,25,443 -S

hping3 192.168.45.129 --scan 1-65535 -S

由抓包可得:

hping3 -c 100  -S  --spoof 192.168.45.200 -p ++1 192.168.45.129

参数-c表示发送数据包的数量

参数-S表示发送SYN数据包

--spoof:伪造源地址,后面接伪造的地址,

参数-p表示扫描的端口,++1表示每次端口号加1,那么就是发送SYN从端口1到端口100

最后面跟的是目标IP

通过抓包可以得知地址已伪造,但对于linux系统(192.168.45.129)来说,它收到了192.168.45.200的SYN数据包,那么就会给192.168.45.200回复SYN+ACK数据包,但该地址却是kali伪造的地址,那么要查看目标系统哪些端口开放,必须登陆地址为kali伪造的地址即(192.168.45.200)进行抓包

hping3和nmap扫描端口的区别:1,hping3结果清晰明了

  2,nmap首先对IP进行DNS反向解析,如果没成功,那么便会对其端口发送数据包,默认发送SYN数据包

hping3直接向目标系统的端口发送SYN数据包,并不进行DNS反向解析

全连接端口扫描:如果单独发送SYN数据包被被过滤,那么就使用全连接端口扫描,与目标建立三次握手连接,结果是最准确的,但容易被入侵检测系统发现

response=sr1(IP(dst="192.168.45.129")/TCP(dport=80,flags="S"))

reply=sr1(IP(dst="192.168.45.129")/TCP(dport=80,flags="A",ack=(response[TCP].seq+1)))

抓包情况:首先kali向Linux发送SYN,Linux回复SYN+ACK给kali,但kali的系统内核不清楚kali曾给linux发送给SYN数据包,那么kali内核莫名其妙收到SYN+ACK包,那么便会返回RST请求断开数据包给Linux,三次握手中断,如今kali再给Linux发ACK确认数据包,Linux莫名其妙收到了ACK数据包,当然也会返回RST请求断开数据包,具体抓包如下:

那么只要kali内核在收到SYN+ACK数据包之后,不发RST数据包,那么就可以建立完整的TCP三次握手,判断目标主机端口是否开放

因为iptables存在于Linux内核中,通过iptables禁用内核发送RST数据包,那么就可以实现

使用nmap进行全连接端口扫描:(如果不指定端口,那么nmap默认会扫描1000个常用的端口,并不是1-1000号端口)

使用dmitry进行全连接端口扫描:

dmitry:功能简单,但功能简便

默认扫描150个最常用的端口

dmitry -p 192.168.45.129  #参数-p表示执行TCP端口扫描

dmitry -p 192.168.45.129 -o output  #参数-o表示把结果保存到一个文本文档中去

使用nc进行全连接端口扫描:

nc -nv -w 1 -z 192.168.45.129 1-100:      1-100表示扫描1-100号端口

参数-n表示不对Ip地址进行域名解析,只把其当IP来处理

参数-v表示显示详细信息

参数-w表示超时时间

-z表示打开用于扫描的模式

Ⅲ 怎样用C语言实现网络抓包

很明白你想干什复么
不过不是三制言两语可以做到的
首先,你想抓包,需要依赖一个库(windows下叫winpcap, linux下叫libpcap)
这个包提供了很多接口,运行后你可以进行抓包
然后介绍你一本书:《网络安全开发包详解》,当年做网络安全的入门级书啊
这本书目前市面上已经绝版了(只有印刷版和二手的能买,如果你经常需要用,建议买一本,比电子书方便),不过你可以下载到电子版的,如果需要我也能传给你一份

然后你想实现的例子,只需要把书看前几章就可以了,看到介绍winpcap/libpcap怎么用就可以了

Ⅳ 如何读懂tcpmp的输出

tcpmp 是 Linux 下的抓包工具,使用参数比较多,输出条目比较细。
tcpmp的命令行格式
tcpmp [ -adeflnNOpqStvx ] [ -c 数量 ] [ -F 文件名 ]
[ -i 网络接口 ] [ -r 文件名] [ -s snaplen ]
[ -T 类型 ] [ -w 文件名 ] [表达式 ]

tcpmp的参数选项
-A:以ASCII编码打印每个报文(不包括链路层的头),这对分析网页来说很方便;
-a:将网络地址和广播地址转变成名字;
-c<数据包数目>:在收到指定的包的数目后,tcpmp就会停止;
-C:用于判断用 -w 选项将报文写入的文件的大小是否超过这个值,如果超过了就新建文件(文件名后缀是1、2、3依次增加);
-d:将匹配信息包的代码以人们能够理解的汇编格式给出;
-dd:将匹配信息包的代码以c语言程序段的格式给出;
-ddd:将匹配信息包的代码以十进制的形式给出;
-D:列出当前主机的所有网卡编号和名称,可以用于选项 -i;
-e:在输出行打印出数据链路层的头部信息;
-f:将外部的Internet地址以数字的形式打印出来;
-F<表达文件>:从指定的文件中读取表达式,忽略其它的表达式;
-i<网络界面>:监听主机的该网卡上的数据流,如果没有指定,就会使用最小网卡编号的网卡(在选项-D可知道,但是不包括环路接口),linux 2.2 内核及之后的版本支持 any 网卡,用于指代任意网卡;
-l:如果没有使用 -w 选项,就可以将报文打印到 标准输出终端(此时这是默认);
-n:显示ip,而不是主机名;
-N:不列出域名;
-O:不将数据包编码最佳化;
-p:不让网络界面进入混杂模式;
-q:快速输出,仅列出少数的传输协议信息;
-r<数据包文件>:从指定的文件中读取包(这些包一般通过-w选项产生);
-s<数据包大小>:指定抓包显示一行的宽度,-s0表示可按包长显示完整的包,经常和-A一起用,默认截取长度为60个字节,但一般ethernetMTU都是1500字节。所以,要抓取大于60字节的包时,使用默认参数就会导致包数据丢失;
-S:用绝对而非相对数值列出TCP关联数;
-t:在输出的每一行不打印时间戳;
-tt:在输出的每一行显示未经格式化的时间戳记;
-T<数据包类型>:将监听到的包直接解释为指定的类型的报文,常见的类型有rpc (远程过程调用)和snmp(简单网络管理协议);
-v:输出一个稍微详细的信息,例如在ip包中可以包括ttl和服务类型的信息;
-vv:输出详细的报文信息;
-x/-xx/-X/-XX:以十六进制显示包内容,几个选项只有细微的差别,详见man手册;
-w<数据包文件>:直接将包写入文件中,并不分析和打印出来;
expression:用于筛选的逻辑表达式;

tcpmp的表达式
表达式是一个逻辑表达式,tcpmp利用它作为过滤报文的条件,如果一个报文满足表达式的条件,则这个报文将会被捕获。如果没有给出任何条件,则网络上所有的信息包将会被截获。
在表达式中一般如下几种类型的关键字:
关于类型的关键字,主要包括host,net,port
例如,
host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明202.0.0.0是一个网络地址,port 23 指明端口号是23。
如果没有指定类型,缺省的类型是host.
关于传输方向的关键字:src,dst,dst or src,dst and src
例如,src 210.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的网络地址是202.0.0.0 。如果没有指明方向关键字,则缺省是src or dst关键字。
关于协议的关键字:fddi,ip,arp,rarp,tcp,udp
Fddi指明是在FDDI(分布式光纤数据接口网络)上的特定的网络协议,实际上它是"ether"的别名,fddi和e ther具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。
其他的几个关键字就是指明了监听的包的协议内容。如果没有指定任何协议,则tcpmp将会监听所有协议的信息包。
逻辑运算符关键字
非运算 'not ' '! '
与运算 'and','&&'
或运算 'or' ,'||'
这些关键字可以组合起来构成强大的组合条件来满足人们的需要,下面举几个例子来说明。
其他重要关键字
除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less,greater。
案例
想要截获所有210.27.48.1 的主机收到的和发出的所有的数据包:
tcpmp host 210.27.48.1
想要截获主机210.27.48.1 和主机210.27.48.2 或210.27.48.3的通信,使用命令
tcpmp host 210.27.48.1 and \(210.27.48.2 or 210.27.48.3\)
如果想要获取主机210.27.48.1除了和主机210.27.48.2之外所有主机通信的ip包,使用命令:
tcpmp ip host 210.27.48.1 and ! 210.27.48.2
如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令:
tcpmp tcp port 23 host 210.27.48.1
输出结果介绍
下面我们介绍几种典型的tcpmp命令的输出信息
数据链路层头信息
使用命令tcpmp --e host ice
ice 是一台装有linux的主机,她的MAC地址是0:90:27:58:af:1a
H219是一台装有SOLARIC的SUN工作站,它的MAC地址是8:0:20:79:5b:46
命令的输出结果如下所示:
21:50:12.847509 eth0 < 8:0:20:79:5b:46 0:90:27:58:af:1a ip 60: h219.33357 > ice.telnet 0:0(0) ack 22535 win 8760 (DF)
分析:
21:50:12 是显示的时间
847509 是ID号
eth0 < 表示从网络接口eth0 接受该数据包
eth0 > 表示从网络接口设备发送数据包
8:0:20:79:5b:46 是主机H219的MAC地址,它表明是从源地址H219发来的数据包
0:90:27:58:af:1a 是主机ICE的MAC地址,表示该数据包的目的地址是ICE
ip 是表明该数据包是IP数据包,
60 是数据包的长度,
h219.33357 > ice.telnet 表明该数据包是从主机H219的33357端口发往主机ICE的TELNET(23)端口
ack 22535 表明对序列号是222535的包进行响应
win 8760 表明发送窗口的大小是8760
ARP包的TCPDUMP输出信息
使用命令#tcpmp arp
得到的输出结果是:
22:32:42.802509 eth0 > arp who-has route tell ice (0:90:27:58:af:1a)
22:32:42.802902 eth0 < arp reply route is-at 0:90:27:12:10:66 (0:90:27:58:af:1a)
分析:
22:32:42 时间戳
802509 ID号
eth0 > 表明从主机发出该数据包
arp 表明是ARP请求包
who-has route tell ice 表明是主机ICE请求主机ROUTE的MAC地址
0:90:27:58:af:1a 是主机ICE的MAC地址。
TCP包的输出信息
用TCPDUMP捕获的TCP包的一般输出信息是:
src > dst: flagsdata-seqnoackwindowurgentoptions

src > dst 表明从源地址到目的地址
flags 是TCP包中的标志信息,S 是SYN标志, F(FIN), P(PUSH) , R(RST) "."(没有标记)
data-seqno 是数据包中的数据的顺序号
ack 是下次期望的顺序号
window 是接收缓存的窗口大小
urgent 表明数据包中是否有紧急指针
options 是选项
用TCPDUMP捕获的UDP包的一般输出信息是:
route.port1 > ice.port2: udplenth

UDP十分简单,上面的输出行表明从主机ROUTE的port1端口发出的一个UDP数据包到主机ICE的port2端口,类型是UDP, 包的长度是lenth
wireshark查看
要让wireshark能分析tcpmp的包,关键的地方是 -s 参数, 还有要保存为-w文件,例如下面的例子:
./tcpmp -i eth0 -s 0 -w SuccessC2Server.pcaphost 192.168.1.20 # 抓该主机的所有包,在wireshark中过滤
./tcpmp -i eth0 'dst host 239.33.24.212' -w raw.pcap # 抓包的时候就进行过滤

wireshark的过滤,很简单的,比如:
tcp.port eq 5541
ip.addr eq 192.168.2.1
过滤出来后, 用fllow tcp 查看包的内容。
其他
device eth0/eth1 entered promiscuous mode
message日志中提示:
kernel: device eth0 entered promiscuous mode
kernel: device eth0 left promiscuous mode
网卡进入了混杂模式。一般对通信进行抓包分析时进入混杂模式(tcpmp)。(默认网卡启用了混杂模式的)
关闭混杂模式:ifconfig eth0 -promisc
启用混杂模式:ifconfig eth0 promisc
TCP协议的KeepAlive机制与HeartBeat心跳包:http://www.nowamagic.net/academy/detail/23350382
TCP Keepalive HOWTO:http://www.tldp.org/HOWTO/html_single/TCP-Keepalive-HOWTO/

Ⅳ linux自动抓包命令。50M生成一个数据包,24小时自动抓包、

我的可以的,把你的命令照搬,版结果:权
-rw-r--r-- 1 root root 50000293 4月 1 15:55 0305.pkt
-rw-r--r-- 1 root root 2920448 4月 1 15:55 0305.pkt1

阅读全文

与linuxc抓包相关的资料

热点内容
java监听器延时 浏览:726
itunes备份包含微信聊天记录 浏览:20
怎么向虚拟机传文件 浏览:677
win10怎么用软件激活不了 浏览:816
美版a1453是什么版本 浏览:517
电脑里的文件夹按照拼音归类 浏览:996
文件管理器怎么把视频压缩成文件 浏览:477
标准化文件名称包括哪些 浏览:85
win10不能读取dll文件 浏览:882
云骑士重装系统找不到usb字样文件 浏览:42
皖事通app社保年限在哪里看 浏览:65
为什么快影显示没网络 浏览:356
华为如何让手机升级提醒红1消失 浏览:345
我爱九九商城app 浏览:587
剑灵苍穹武器升级 浏览:248
微信钱包微粒贷 浏览:654
滚动字幕屏找不到文件 浏览:990
郑州青少年学编程哪个机构比较好 浏览:866
ps文件打开不是彩色的 浏览:781
监控硬盘格式化工具 浏览:512

友情链接