Scapy常用操作和命令(4)
使用dir()可以檢視當前的臨時變數
>>> dir() ['__builtins__', 'a', 'ans', 'conf', 'p', 'r', 's', 'unans'] |
make_table方法小結:
make_table由一個list物件呼叫,接受一個返回值為3元祖的方法,返回的3元組的第一個引數為table的X軸(rowtitle),第二個引數為Y軸(col title),第三個引數為(X,Y)位置顯示的內容,例如:
>>> ans,unans=sr(IP(dst="www.test.fr/30", ttl=(1,6))/TCP()) Received 49 packets, got 24 answers, remaining 0 packets >>> ans.make_table( lambda (s,r): (s.dst, s.ttl, r.src) ) 216.15.189.192216.15.189.193216.15.189.194 216.15.189.195 1 192.168.8.1192.168.8.1192.168.8.1192.168.8.1 2 81.57.239.25481.57.239.25481.57.239.25481.57.239.254 3 213.228.4.254213.228.4.254213.228.4.254213.228.4.254 4 213.228.3.3213.228.3.3213.228.3.3213.228.3.3 5 193.251.254.1193.251.251.69193.251.254.1193.251.251.69 6 193.251.241.174 193.251.241.178 193.251.241.174 193.251.241.178 |
此外,make_lined_table()和make_tex_table()是make_table的兩個變體,用法如下:
>>> ans.filter(lambda (s,r):r.sprintf("%TCP.flags%")=="SA").make_lined_table(lambda (s,r):(s.dst,r.sport,"X")) ----+----------------+----------------+ | 172.31.100.127 | 172.31.100.149 | ----+----------------+----------------+ 80| X| X | 135 | X| X| 139 | X| -| 445 | X| -| 902 | -| X| 912 | -| X| ----+----------------+----------------+ |
>>> ans.filter(lambda (s,r):r.sprintf("%TCP.flags%")=="SA").make_tex_table(lambda (s,r):(s.dst,r.sport,"X")) \hline & 172.31.100.127 & 172.31.100.149 \\ \hline 80 & X & X \\ 135 & X & X \\ 139 & X & - \\ 445 & X & - \\ 902 & - & X \\ 912 & - & X \\ \hline |
Scapy可以定義自己的路由表,這樣可以在不影響作業系統路由表的前提下測試路由:
>>> conf.route NetworkNetmaskGateway Iface 127.0.0.0255.0.0.00.0.0.0 lo 192.168.8.0255.255.255.00.0.0.0 eth0 0.0.0.00.0.0.0192.168.8.1 eth0 >>> conf.route.delt(net="0.0.0.0/0",gw="192.168.8.1") >>> conf.route.add(net="0.0.0.0/0",gw="192.168.8.254") >>> conf.route.add(host="192.168.1.1",gw="192.168.8.1") >>> conf.route NetworkNetmaskGateway Iface 127.0.0.0255.0.0.00.0.0.0 lo 192.168.8.0255.255.255.00.0.0.0 eth0 0.0.0.00.0.0.0192.168.8.254 eth0 192.168.1.1255.255.255.255 192.168.8.1eth0 >>> conf.route.resync() >>> conf.route NetworkNetmaskGateway Iface 127.0.0.0255.0.0.00.0.0.0 lo 192.168.8.0255.255.255.00.0.0.0 eth0 0.0.0.00.0.0.0192.168.8.1 eth0 |
traceroute方法基於TCP,會同時給所有路徑上的節點發送探測報文,好處是效率非常高,壞處是這樣就不知道在哪個節點停止(預設最多30個節點),所以可以通過maxttl引數來限制跳數。可以指定多個目標:
>>> traceroute(["www.yahoo.com","www.altavista.com","www.wisenut.com","www.copernic.com"],maxttl=20) Begin emission: ....*********************************************Finished to send 80 packets. ************************* Received 74 packets, got 70 answers, remaining 10 packets 188.125.66.105:tcp80 206.190.36.45:tcp80 211.39.140.160:tcp80 64.26.185.74:tcp80 1 172.31.100.111172.31.100.111172.31.100.111172.31.100.111 2 172.31.99.111172.31.99.111172.31.99.111172.31.99.111 3 172.30.1.1711172.30.1.1711172.30.1.1711172.30.1.1711 4 172.30.1.511172.30.1.511172.30.1.511172.30.1.511 5 106.120.78.18911106.120.78.18911106.120.78.18911106.120.78.18911 6 -219.141.158.138 11 -219.141.158.138 11 7 59.43.77.111-59.43.77.111- 8 59.43.247.701159.43.77.91159.43.17.1181159.43.77.911 9 59.43.246.141159.43.17.611-59.43.17.611 10 59.43.183.7411-59.43.246.25411- 11 59.43.244.21159.43.246.16211203.234.255.173 1159.43.246.162 11 12 80.239.193.1411159.43.182.7711112.174.83.3311- 13 62.115.140.24811213.248.79.25211112.174.48.13711213.248.79.25211 14 62.115.113.2191162.115.118.24611112.174.60.901162.115.121.22711 15 62.115.61.1101162.115.125.16011112.188.244.194 11213.155.130.247 11 16 66.196.68.1531162.115.120.751161.78.39.2461180.239.128.5811 17 66.196.65.251162.115.116.14011211.39.140.160SA64.230.79.9011 18 217.146.186.731162.115.61.12211211.39.140.160SA64.230.79.13911 19 -216.115.101.109 11211.39.140.160 SA64.230.79.12411 20 -66.196.67.10111211.39.140.160SA64.230.50.16611 (<Traceroute: TCP:4 UDP:0 ICMP:66 Other:0>, <Unanswered: TCP:10 UDP:0 ICMP:0 Other:0>) |
幾個常用的Random函式:
RandShort():返回一個隨機short值
RandIP():返回一個隨機IP地址
RandIP6():返回一個隨機IPv6地址
RandMAC():返回一個隨機MAC地址
相關推薦
Scapy常用操作和命令(4)
使用dir()可以檢視當前的臨時變數 >>> dir() ['__builtins__', 'a', 'ans', 'conf', 'p', 'r', 's', 'unans
Scapy常用操作和命令(3)
syn埠掃描的寫法: >>> ans, unans=sr(IP(src="172.31.100.222", dst="172.31.100.149")/TCP(sport=
Scapy常用操作和命令(2)
>>> ans, unans = sr(IP(src="172.31.100.149/30", dst="www.baidu.com")/TCP(dport=80), inter=0.5, retry=-3, timeout=1) .Begin emission: ............
Linux 常用操作及命令
linux 命令 1. 什麽是linux服務器load average?Load是用來度量服務器工作量的大小,即計算機cpu任務執行隊列的長度,值越大,表明包括正在運行和待運行的進程數越多。參考資料:http://en.wikipedia.org/wiki/Load_average2. 如何查看lin
H3C常用配置和命令
info arp rim cond link bpp ogg ica 動態arp 鄰居發現命令display lldp neighbor-information list DHCP中繼配置dhcp enabledhcp relay server-group 1 ip x.x
1.linux 基本操作和命令
shu init 奇數 oot 普通 安裝腳本 uname 工作目錄 文本文件 整理復習之前的linux學習筆記,正好貼出來了。 1.【root@chen ~】# 【當前登錄用戶@主機名 當前所在目錄】# 當前用戶身份 #號表示管理員root $
redis常用操作和操作鍵值
string、list常用操作 string資料建立、覆蓋及設定過期時間 127.0.0.1:6379> get key1 檢視原來的key1的值 "b" 127.0.0.1:6379> set key1 123 &nbs
Composer 常用方法和命令
//設定中國映象 方法一: 修改 composer 的全域性配置檔案(推薦方式) 開啟命令列視窗(windows使用者)或控制檯(Linux、Mac 使用者)並執行如下命令: composer config -g repo.packagist composer https://packa
python筆記 1-2 liunx基本操作 -和 命令
day 1 liunx 常用命令 ls 命令 檢視 ls : 以列表方式檢視當前檔案內容 ls -a : 檢視所有內容 (包含隱藏檔案 , 隱藏檔案 是帶 . 的檔案) ls -l : 檢視詳細資訊 (包含可讀寫,許可權 大小用量 -h 是友好模式顯示) ls -h ; 友好模式
Manjaro常用軟體和命令列推薦
簡介 最近安裝上了號稱世界排名第一的基於Arch Linux的發行版Manjaro,並進行了一些配置,可以點選檢視。安裝了很多好的軟體和命令列工具,以此記錄,給以後的自己和需要的人。 首先檢視我的manjaro詳細資訊,一個screenfetch命令: Man
MYSQL資料庫基本操作和命令詳解
在學習MySQL資料庫之前我們要知道MySQL資料庫的操作語言的分類; DDL(資料定義語言) 表的定義、使用者的定義… create drop alter DML(資料操控語言) 對資料的增加、修改、刪除、查詢 insert update delete select
maven用途、核心概念、用法、常用引數和命令、擴充套件
本文由淺入深,主要介紹maven的用途、核心概念(Pom、Repositories、Artifact、Build Lifecycle、Goal)介紹、用法(Archetype意義及建立各種專案)、maven常用引數和命令以及簡單故障排除、maven擴充套件(eclipse、cobertura、findb
m語言常用函式和命令
1.Set 設定變數 set s=3 2.write 輸出變數 w s 3.kill 刪除所有變數或一些指定的變數或所有變數除了指定的變數。 4.new 初始化變數。 5.Do(d):執行命令 6.Quit(q): 結束執行一個函式並返回一
cache資料庫入門教程 資料庫m語言常用函式和命令
1.Set 設定變數 set s=3 2.write 輸出變數 w s 3.kill 刪除所有變數或一些指定的變數或所有變數除了指定的變數。 4.new 初始化變數。 5.Do(d):執行命令 6.Quit(q): 結束執行一個函式並返回一個值 7.$Horolog$Hor
如何在VC中加減日期及 CTime COleDateTime的常用操作和比較
如何在VC中加減日期 使用CTime類,如: CTime t1( 1999, 3, 19, 22, 15, 0 ); // 10:15PM March 19, 1999 CTime t2( 1999, 3, 20, 22, 15, 0 ); // 10:15PM March 20, 1999
Linux下oracle資料庫常用操作及命令
本文出自 "高興F" 部落格,請務必保留此出處http://gaoxingf.blog.51cto.com/612518/121138 Linux下oracle資料庫常用命令 Oracle使用者下執行: $ sqlplus system/manager @ file.s
linux常用知識點和命令總結
系統常用命令:① 檢視當前目錄:pwd② 切換目錄 cd③ 檢視目錄檔案資訊 檢視檔案詳細資訊stata) Ls //列出檔案資訊b) Ls -l //以詳細資訊方式列出檔案資訊c) Ls-al //以詳細資訊方式列出所有檔案資訊,包含隱藏檔案d
Windows平臺下MySQL常用操作與命令
1.匯出整個資料庫 mysqldump -u 使用者名稱 -p --default-character-set=latin1 資料庫名 > 匯出的檔名(資料庫預設編碼是latin1) mysqldump -u wcnc -p smgp_apps_wcnc >
讀Hadoop3.2原始碼,深入瞭解java呼叫HDFS的常用操作和HDFS原理
> 本文將通過一個演示工程來快速上手java呼叫HDFS的常見操作。接下來以建立檔案為例,通過閱讀HDFS的原始碼,一步步展開HDFS相關原理、理論知識的說明。 > 說明:本文件基於最新版本Hadoop3.2.1 # 目錄 ### 一、java呼叫HDFS的常見操作 #### 1.1、演示環境搭
docker和docker compose常用操作命令
clas _id 命名空間 down gpo 本地 export 啟動 pru 首先區分一下docker中幾個概念 Image:鏡像,相當於一個root文件系統,不包含任何動態數據 Container:容器,鏡像運行時的實體,實質是進程,容器進程運行於屬於自己的獨立的命名空