當前位置:首頁 » 操作系統 » 埠掃描linux

埠掃描linux

發布時間: 2022-07-28 20:41:47

『壹』 linux系統 ,不能使用telnet,如何測試埠

可以考慮使用埠掃描工具。
以ScanPort埠掃描工具為例(可以在網上下載):
起始IP,結束IP,要掃描的埠號碼,最高延遲(50可以),線程數目(速度,20左右就夠了)
像一個區域網一台電腦IP為123.123.123.123,那麼,一般主機一般為0(或1),也就是123.123.123.1(可作為起始)
,最後一個最多為123.123.123.255(就是結束IP)。埠號取決於你的目的,像輸入7626則是冰河木馬的默認後門埠.當搜索到打開了指定埠的電腦,就會在右邊顯示。

『貳』 如何查看linux伺服器ip和埠

參考方法:

1、用netstat查看:

『叄』 如何在Linux上使用Nmap安全掃描工具

nmap(Network Mapper)是一款開放源代碼的網路探測和安全審核工具。它用於快速掃描一個網路和一台主機開放的埠,還能使用TCP/IP協議棧特徵探測遠程主機的操作系統類型。nmap支持很多掃描技術,例如:UDP、TCPconnect()、TCPSYN(半開掃描)、ftp代理(bounce攻擊)、反向標志、ICMP、FIN、ACK掃描、聖誕樹(XmasTree)、SYN掃描和null掃描。Nmap最初是用於unix系統的命令行應用程序。在2000年的時候,這個應用程序有了windows版本,可以直接安裝使用。

Nmap命令的格式為:
Nmap [ 掃描類型 ... ] [ 通用選項 ] { 掃描目標說明 }
下面對Nmap命令的參數按分類進行說明:
1. 掃描類型
-sT TCP connect()掃描,這是最基本的TCP掃描方式。這種掃描很容易被檢測到,在目標主機的日誌中會記錄大批的連接請求以及錯誤信息。
-sS TCP同步掃描(TCP SYN),因為不必全部打開一個TCP連接,所以這項技術通常稱為半開掃描(half-open)。這項技術最大的好處是,很少有系統能夠把這記入系統日誌。不過,你需要root許可權來定製SYN數據包。
-sF,-sX,-sN 秘密FIN數據包掃描、聖誕樹(Xmas Tree)、空(Null)掃描模式。這些掃描方式的理論依據是:關閉的埠需要對你的探測包回應RST包,而打開的埠必需忽略有問題的包(參考RFC 793第64頁)。
-sP ping掃描,用ping方式檢查網路上哪些主機正在運行。當主機阻塞ICMP echo請求包是ping掃描是無效的。nmap在任何情況下都會進行ping掃描,只有目標主機處於運行狀態,才會進行後續的掃描。
-sU 如果你想知道在某台主機上提供哪些UDP(用戶數據報協議,RFC768)服務,可以使用此選項。
-sA ACK掃描,這項高級的掃描方法通常可以用來穿過防火牆。
-sW 滑動窗口掃描,非常類似於ACK的掃描。
-sR RPC掃描,和其它不同的埠掃描方法結合使用。
-b FTP反彈攻擊(bounce attack),連接到防火牆後面的一台FTP伺服器做代理,接著進行埠掃描。
2. 通用選項
-P0 在掃描之前,不ping主機。
-PT 掃描之前,使用TCP ping確定哪些主機正在運行。
-PS 對於root用戶,這個選項讓nmap使用SYN包而不是ACK包來對目標主機進行掃描。
-PI 設置這個選項,讓nmap使用真正的ping(ICMP echo請求)來掃描目標主機是否正在運行。
-PB 這是默認的ping掃描選項。它使用ACK(-PT)和ICMP(-PI)兩種掃描類型並行掃描。如果防火牆能夠過濾其中一種包,使用這種方法,你就能夠穿過防火牆。
-O 這個選項激活對TCP/IP指紋特徵(fingerprinting)的掃描,獲得遠程主機的標志,也就是操作系統類型。
-I 打開nmap的反向標志掃描功能。
-f 使用碎片IP數據包發送SYN、FIN、XMAS、NULL。包增加包過濾、入侵檢測系統的難度,使其無法知道你的企圖。
-v 冗餘模式。強烈推薦使用這個選項,它會給出掃描過程中的詳細信息。
-S <IP> 在一些情況下,nmap可能無法確定你的源地址(nmap會告訴你)。在這種情況使用這個選項給出你的IP地址。
-g port 設置掃描的源埠。一些天真的防火牆和包過濾器的規則集允許源埠為DNS(53)或者FTP-DATA(20)的包通過和實現連接。顯然,如果攻擊者把源埠修改為20或者53,就可以摧毀防火牆的防護。
-oN 把掃描結果重定向到一個可讀的文件logfilename中。
-oS 掃描結果輸出到標准輸出。
--host_timeout 設置掃描一台主機的時間,以毫秒為單位。默認的情況下,沒有超時限制。
--max_rtt_timeout 設置對每次探測的等待時間,以毫秒為單位。如果超過這個時間限制就重傳或者超時。默認值是大約9000毫秒。
--min_rtt_timeout 設置nmap對每次探測至少等待你指定的時間,以毫秒為單位。
-M count 置進行TCP connect()掃描時,最多使用多少個套接字進行並行的掃描。
3. 掃描目標
目標地址 可以為IP地址,CIRD地址等。如192.168.1.2,222.247.54.5/24
-iL filename 從filename文件中讀取掃描的目標。
-iR 讓nmap自己隨機挑選主機進行掃描。
-p 埠 這個選項讓你選擇要進行掃描的埠號的范圍。如:-p 20-30,139,60000。
-exclude 排除指定主機。
-excludefile 排除指定文件中的主機。
舉例:
nmap -v www.hao123.com nmap -sS -O 192.168.1.23/24
nmap -sX -p 22,53,110,143,4564 128.210.*.1-127
nmap -v --randomize_hosts -p 80 *.*.2.3-5

『肆』 linux下如何測試一個IP地址的某個埠通不通

linux測試某個埠的連通性可以使用如下命令測試TCP協議

telnetipport

TCP/UDP協議測試埠

nc-vuzipport#測試udp協議
nc-vtzipport#測試tcp協議

『伍』 Linux下nmap掃描埠shell腳本

安裝nmap後(ubuntu通過apt-get
install
nmap安裝),運行下列命令即可
nmap
-p0-65535
目標ip地址
常用的掃描類型:
1、-sP(ping的方式掃描,檢查主機在線與否,不發送任何報文到目的主機,想知道目標主機是否運行,而不想進行其它掃描,這掃描方式很常用)
2、-sL(僅僅列網段內出主機的狀態、埠等信息,查詢埠的話用
-p
port,port1……)
3、
-PS/PA/PU
[portlist](根據給定的埠用TCP或UDP報文探測:對於root用戶,這個選項讓nmap使用SYN包而不是ACK包來對目標主機進行掃描。如果主機正在運行就返回一個RST包(或者一個SYNACK包))
4、-sS(TCP同步掃描(TCP
SYN):發出一個TCP同步包(SYN),然後等待回對方應)
5、
-sF
-sF
-sN(秘密FIN數據包掃描、聖誕樹
(Xmas
Tree)、空(Null)掃描模式使用-sF、-sX或者-sN掃描顯示所有的埠都是關閉的,而使用SYN掃
描顯示有打開的埠,你可以確定目標主機可能運行的是Windwos系統)
6、-sU(UDP掃描:nmap首先向目標主機的每個埠發出一個0位元組的UDP包,如果我們收到埠不可達的ICMP消息,埠就是關閉的,否則我們就假設它是打開的)
7、-P0
(No
ping)(這個選項跳過Nmap掃描)
8、-PE/PP/PM
掃描類型的控制
1、sW
(對滑動窗口的掃描)
2、-sR(RPC掃描)
3、
-PE;
-PP;
-PM
(ICMP
類型的ping)
4、-PR
(ARP
類型的ping-n
(無
DNS
解析)
5、-R
(為所有的目標做DNS解析)
6、-sV(對服務版本的檢測)
常用的對主機的操作
1、-A或者-O(對操作系統的檢測)
2、-v(增加信息的詳盡程度)
3、-p(ports的范圍)

『陸』 100分求linux下C語言埠掃描代碼

linux tcp udp 埠掃描源程序
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include <errno.h>
#include <netdb.h>
#include <stdio.h>
#include <string.h>
#include <netinet/ip_icmp.h>
#include <stdlib.h>
#include <signal.h>
#include <libxml/parser.h>
#include <libxml/tree.h>
#define TRUE 1
#define FALSE 0
#define UDP "UDP"
#define TCP "TCP"
#define tcp "tcp"
#define udp "udp"
typedef struct _GsSockStru{

int fd;
int len;

struct sockaddr_in addr;

}GsSockStru;

static int tcptest( char ip[32], char port[20]);
static int udptest( char ip[32], char port[20]);
void sig_alrm( int signo );

static GsSockStru test_sock;
int
main( int argc, char** argv)
{
char string[64];
char port[20];
char pro[20];
char ip[32];
int res;
int i = 0;
int k = 0;

if( argc>2 || argc<2 )
{
printf("鍙傛暟涓嶆紜?-1\n");
return ( -1 );
}

strcpy( string, argv[1]);

while( *string )
{
if( string[i] == ':' )
break;
pro[k] = string[i];
k++;
i++;
}
pro[k] = '\0';
i++;
k = 0;
while( *string )
{
if( string[i] == ':')
break;
ip[k] = string[i];
k++;
i++;
}
ip[k] = '\0';
i++;
k=0;
while( *string )
{
if( string[i] == '\0')
break;
port[k] = string[i];
k++;
i++;
}
port[k] = '\0';
i++;

memset( &test_sock, 0, sizeof( test_sock ) );
if ( ( strcmp( TCP, pro) != 0 ) && ( strcmp( UDP, pro) != 0 ) && ( strcmp( tcp, pro) != 0 ) && ( strcmp( udp, pro) != 0 ))
{
printf ( "鍙傛暟涓嶆紜?錛?\n" );
return (-1);
}
if ( strcmp( TCP, pro) == 0 || strcmp( tcp, pro) == 0 )
res = tcptest( ip, port );
if ( strcmp( UDP, pro) == 0 || strcmp( udp, pro) == 0 )
res = udptest( ip, port );printf("%d\n",res);
return ( res );
}
int
tcptest( char ip[32], char port[20])
{
int res;
struct timeval tv;

test_sock.fd = socket( AF_INET, SOCK_STREAM, 0 );
if ( test_sock.fd < 0 )
{
printf( "create socket failed -3 \n" );
return ( -3 );
}
memset( &( test_sock.addr ), 0, sizeof( test_sock.addr ) );

test_sock.addr.sin_family = AF_INET;
test_sock.addr.sin_port = htons( atoi( port ) );
inet_pton( AF_INET, ip, &test_sock.addr.sin_addr );
test_sock.len = sizeof( struct sockaddr );
tv.tv_sec = 10;
tv.tv_usec = 0;
setsockopt( test_sock.fd, SOL_SOCKET, SO_RCVTIMEO,
(const char *)&tv, sizeof( tv ) );
res = connect( test_sock.fd,
( struct sockaddr * )( &( test_sock.addr ) ),
test_sock.len );
if ( res < 0 )
{
fprintf( stderr, "connect failed 0\n" );
close( test_sock.fd );
return FALSE;
}
close( test_sock.fd );
return TRUE;
}
int udptest( char ip[32], char port[20])
{
struct icmphdr *icmp_header;
struct sockaddr_in target_info;
int target_info_len;
fd_set read_fd;
int scan_port;
char recvbuf[5000];
struct sockaddr_in target_addr;
int icmp_socket;
int udp_socket;
struct timeval tv;

icmp_header = (struct icmphdr *)(recvbuf+sizeof(struct iphdr));
scan_port = atoi( port );
target_addr.sin_family = AF_INET;
inet_pton( AF_INET, ip, &target_addr.sin_addr );
target_addr.sin_port = htons(scan_port);

if ((udp_socket=socket(AF_INET,SOCK_DGRAM,0))==-1)
{
printf("create socket failed -3\n");
return -3;
}
if ((icmp_socket=socket(AF_INET,SOCK_RAW,IPPROTO_ICMP))==-1)
{
printf("Create raw socket failed -3\n");
return -3;
}

sendto(udp_socket,NULL,0,0,(void *)&target_addr,sizeof(target_addr));
FD_ZERO(&read_fd);
FD_SET(icmp_socket,&read_fd);

tv.tv_sec = 1;
tv.tv_usec = 0;
select(FD_SETSIZE,&read_fd,NULL,NULL,&tv);
for (;;){
if (FD_ISSET(icmp_socket,&read_fd))
{
target_info_len = sizeof(target_info);
recvfrom(icmp_socket,recvbuf,5000,0,
(struct sockaddr *)&target_info,&target_info_len);
if (target_info.sin_addr.s_addr == target_addr.sin_addr.s_addr
&& icmp_header->type == 3 && icmp_header->code<=12)
{
printf("Port %d : Close\n",scan_port);
return (0);
}
}
return (1) ;
}
}

『柒』 使用nmap埠掃描的代碼,在kali linux系統中運行

直接nmap --help即可查看命令幫助

『捌』 埠掃描 linux 操作系統確定

linux下有個nc命令(即netcat),是用於埠掃描的。

到下面網址下載nc的源代碼,自己分析一下吧。

『玖』 Linux使用nmap掃描埠

安裝nmap後(ubuntu通過apt-get install nmap安裝),運行下列命令即可
nmap -p0-65535 目標ip地址
常用的掃描類型:
1、-sP(ping的方式掃描,檢查主機在線與否,不發送任何報文到目的主機,想知道目標主機是否運行,而不想進行其它掃描,這掃描方式很常用)
2、-sL(僅僅列網段內出主機的狀態、埠等信息,查詢埠的話用 -p port,port1……)
3、 -PS/PA/PU [portlist](根據給定的埠用TCP或UDP報文探測:對於root用戶,這個選項讓nmap使用SYN包而不是ACK包來對目標主機進行掃描。如果主機正在運行就返回一個RST包(或者一個SYNACK包))
4、-sS(TCP同步掃描(TCP SYN):發出一個TCP同步包(SYN),然後等待回對方應)
5、 -sF -sF -sN(秘密FIN數據包掃描、聖誕樹 (Xmas Tree)、空(Null)掃描模式使用-sF、-sX或者-sN掃描顯示所有的埠都是關閉的,而使用SYN掃 描顯示有打開的埠,你可以確定目標主機可能運行的是Windwos系統)
6、-sU(UDP掃描:nmap首先向目標主機的每個埠發出一個0位元組的UDP包,如果我們收到埠不可達的ICMP消息,埠就是關閉的,否則我們就假設它是打開的)
7、-P0 (No ping)(這個選項跳過Nmap掃描)
8、-PE/PP/PM
掃描類型的控制
1、sW (對滑動窗口的掃描)
2、-sR(RPC掃描)
3、 -PE; -PP; -PM (ICMP 類型的ping)
4、-PR (ARP 類型的ping-n (無 DNS 解析)
5、-R (為所有的目標做DNS解析)
6、-sV(對服務版本的檢測)
常用的對主機的操作
1、-A或者-O(對操作系統的檢測)
2、-v(增加信息的詳盡程度)
3、-p(ports的范圍)

『拾』 求教高手,編寫一個linux下埠掃描程序

這里介紹netcat命令檢查開放埠
netcat(或nc)是一種命令行工具,可以使用TCP或UDP協議跨網路連接讀取和寫入數據。使用netcat可以掃描單個埠或者埠范圍。
比如,要掃描IP地址192.168.8.51在范圍內遠程計算機上打開的TCP埠,4000-4004可以進行以下命令:nc -z -v 192.168.8.51 4000-4004
1-z選項指示nc僅掃描打開的埠,並不發送任何數據,並且-v用於獲取更多詳細信息。運行結果如下:

sl@Li:~/Works/brochain/corsac$ nc -z -v 192.168.8.51 4000-4004
Connection to 192.168.8.51 4000 port [tcp/*] succeeded!
nc: connect to 192.168.8.51 port 4001 (tcp) failed: Connection refused
nc: connect to 192.168.8.51 port 4002 (tcp) failed: Connection refused
nc: connect to 192.168.8.51 port 4003 (tcp) failed: Connection refused
nc: connect to 192.168.8.51 port 4004 (tcp) failed: Connection refused

熱點內容
phptiny 發布:2025-01-18 20:54:03 瀏覽:987
怎麼給漢字加密 發布:2025-01-18 20:49:44 瀏覽:865
遍歷javamap 發布:2025-01-18 20:39:05 瀏覽:624
我的世界租伺服器哪裡最便宜 發布:2025-01-18 20:38:50 瀏覽:564
dhcp伺服器地址租期時間怎麼調整 發布:2025-01-18 20:28:02 瀏覽:267
加密區的圖片 發布:2025-01-18 20:22:17 瀏覽:474
key文件加密 發布:2025-01-18 20:12:07 瀏覽:736
etl伺服器怎麼用 發布:2025-01-18 20:08:18 瀏覽:281
硫酸鎂演算法 發布:2025-01-18 19:53:00 瀏覽:670
華為什麼時候做安卓 發布:2025-01-18 19:44:23 瀏覽:713